Commit Graph

98 Commits

Author SHA1 Message Date
Paul Lorenz ad779ed118 Improve link mgmt backwards compatibility. Fixes #1900
* We're sending peer change messages to older routers that don't understand them.
* We should probably use the older controller link management code for routers without the link management stability fixes
* Includes a few minor cleanups
2024-04-04 19:07:24 -04:00
Paul Lorenz c64df3a7b3 Merge pull request #1788 from openziti/terminator-chaos
Terminator chaos
2024-03-12 15:31:59 -04:00
Paul Lorenz fab81e4cd4 Add terminator chaos testing and fix issues found. Fixes #1794 Fixes #1369 2024-03-12 10:31:36 -04:00
Paul Lorenz 37b2fe5a0e Fix check for timeout error. Fixes #1791 2024-03-01 14:06:36 -05:00
Paul Lorenz c4abcae949 Link management fixes. Fixes #1692 Fixes #1693 2024-01-19 17:33:21 -05:00
Paul Lorenz b7bd2aa975 Fix xgress dialer config. Fixes #1673 2023-12-29 13:16:04 -05:00
Paul Lorenz db6554ee06 Implement idempotency for sdk terminators. Fixes #1446 2023-12-01 15:44:05 -05:00
Paul Lorenz f3d67b7f49 Update fabric imports 2023-09-28 23:34:28 -04:00
Paul Lorenz a7fe59e184 Do some configuration tidying 2023-08-22 20:37:25 -04:00
Paul Lorenz 509364d908 Remove trace events from dispatcher. Move trace to common 2023-08-16 12:39:42 -04:00
Paul Lorenz cdfd037da9 Move protobuf definitions to common 2023-08-10 19:38:48 -04:00
Paul Lorenz 13fc2a12c1 Move metrics package to common 2023-08-10 18:08:06 -04:00
Paul Lorenz 00a39c9900 Move logcontext package to common 2023-08-10 18:07:00 -04:00
Paul Lorenz 368d6e5568 Move config, ctrl_msg and handler_common to common/ 2023-08-10 17:29:08 -04:00
Paul Lorenz e52f55a93d Make link management change forward and backwards compatible 2023-08-03 17:07:50 -04:00
Paul Lorenz 2ee9539f9c Move link calculation to routers. Fixes #692, fixes #749, fixes openziti/fabric#343 2023-08-03 17:07:48 -04:00
Paul Lorenz cc09f32c34 Implement batched terminator deletes 2023-03-28 13:18:59 -04:00
Paul Lorenz 786c1f6406 Add rate limiter pool. Fixes openziti/fabric#648 2023-03-22 16:20:02 -04:00
Paul Lorenz 23c55b6bf0 Refactor endpoint management code. Fixes openziti/fabric#610 2023-03-10 09:31:08 -05:00
Paul Lorenz 820e6391a4 Add heartbeat config and controller peer heartbeats. Fixes openziti/fabric#507
Adds config to controller for heartbeat config
Add config to routers for heartbeat config
Adds configurable heartbeats to controller <-> controller connections
2023-02-28 09:47:53 -05:00
Paul Lorenz abb0eb96fb Add more raft configuration options. Fixes openziti/fabric#597
Add more raft config knobs
Refactor peer handles to be consistent with other handlers
Allow inspect to work across controllers
Add config and clusterconfig inspect support
2023-02-15 23:47:57 -05:00
Paul Lorenz 5aad0a4842 Only use endpoint file once the set changes. Add more logging. Fixes openziti/fabric#601 2023-02-11 00:12:00 -05:00
Cam Otts 1a6fb53271 Router controller updates (#537)
* progress on controller communication

* added yaml encoding/decoding

* move dispatch callbacks to be more consistent

* update unit tests

* small cleaups

* Add new datadir to unit tests

* fix linter

* Was able to use FSM hooks to get configuration updates to show raft state

* Send index to prevent older versions from being applied and added leader override

* pr comments and added/removed ctrl connections

* added error logging

* pr comments

* spelling and bad log newlines

* added delete from the toconnect map and added end case to the background connect

* reordered removal from map

* added mtx around access. Forgot that was changed to be unsopported.
2023-01-18 09:19:13 -06:00
Paul Lorenz 02539e9e16 Support multiple control channels. Fixes openziti/fabric#469 2022-09-29 12:06:41 -04:00
Paul Lorenz 519574497e Update to channel v2 2022-09-26 17:00:34 -04:00
Paul Lorenz 9aa41409b3 Cleanup trace controller loop. Refactor for multiple control channels: openziti/fabric#469 2022-09-22 11:05:35 -04:00
Paul Lorenz aa6124105d Update to usage v3. Adds circuit tags to usage. Fixes openziti/fabric#496 2022-09-15 17:34:33 -04:00
Paul Lorenz 4d05c59df0 Run gofmt -w -s 2022-08-22 14:17:43 -04:00
Paul Lorenz 77bce93e85 Refactor events subsystem. Add link events. Fixes openziti/fabric#415
Previously we often had two sets of events, one in the network
package, and then another in the events package. We now only
have one, in the events package. Events now have a public API,
 with minimal deps. There's an implementation package which has
the dependencies. This allows the network package to generate
events, without have a circular dependency on the events
implementation package.
2022-07-15 18:31:52 -04:00
ekoby 0aef9099dc add backtrace (#445) 2022-07-14 15:34:16 -04:00
Paul Lorenz 3d49022f4a Update for foundation changes 2022-07-01 14:29:12 -04:00
Paul Lorenz b26fcf8909 Fix copyright 2022-06-29 16:59:46 -04:00
Paul Lorenz 547d637de1 Improve circuit inspect. Fixes for various races detected by race detector 2022-06-21 14:44:30 -04:00
tburtchell cf28ad7edc Metrics via inspect (#409)
* Adding inspect handling for 'metrics'
* Adding prometheus metric event format
2022-05-31 16:03:04 -04:00
Paul Lorenz 4dc6596e7a Fix pool metrics for xg/link dials. Fixes openziti/fabric#404 2022-05-20 10:31:43 -04:00
Paul Lorenz e53a5e6fc5 Add pool metrics 2022-05-13 13:49:42 -04:00
Paul Lorenz 5d2febb7b7 Fix conditional 2022-05-12 23:21:10 -04:00
Paul Lorenz 1957ad4603 Merge pull request openziti/fabric#396 from openziti/fix-link-dial-queue-wait
Link dial should not wait if dial queue is full. Fixes openziti/fabric#395
2022-05-12 15:45:10 -04:00
Cam Otts 0c7ff2bd5e threaded a timout through fabric (#356)
* threaded a timout through fabric

* updated default timeout

* pr comments

* fix timing

* applied pr comments

* removed one more utc

* updated to time until and conditionally add deadline

* signed commit


* small proto change

* regenerate pb

* missed extra import
2022-05-12 14:32:18 -05:00
Paul Lorenz 9285355d72 Link dial should not wait if dial queue is full. Fixes openziti/fabric#395 2022-05-12 15:31:24 -04:00
Paul Lorenz f51ebf40f4 Fix route related deadlock issues. Fixes openziti/fabric#393
If we can't queue to dial pool, don't block, fail right away
Ensure we don't write response in reader go-routine
Add timeouts on response writes, so they don't block indefinitely
2022-05-12 14:08:04 -04:00
Paul Lorenz 8dfdce7fab Update to current protobuf library 2022-05-10 14:54:00 -04:00
Paul Lorenz 69bc2fb0cc Update to transport/v2 2022-05-10 11:58:41 -04:00
Paul Lorenz 998a990121 Add inspect variant which includes goroutines related to xgress 2022-05-02 16:33:20 -04:00
Paul Lorenz 18539faf87 Add dest type to routing so we don't need to overload ids 2022-04-27 11:20:02 -04:00
Paul Lorenz e21d41df05 Notify controller of invalid destinations in routes.
Allow xgress and links to be destinguished by ID suffix
If a link destination is missing, send a link fault
Add forget-link router debug agent op to allow testing invalid
destinations
2022-04-26 22:16:58 -04:00
Paul Lorenz 6384fae4f6 Fix race condition where link could be closed before being added to registry 2022-04-26 09:53:18 -04:00
Paul Lorenz e2d29d3f07 Rework model for circuit inspections. Add inspect support back to mgmt channel 2022-04-19 10:38:23 -04:00
tburtchell 03040f31fc Adding hearbeat message handler to router (#353)
* Adding hearbeat message handler to router

Co-authored-by: Tod Burtchell <tod.burtchell@netfoundry.io>
Co-authored-by: ziti-ci <ziti-ci@netfoundry.io>
2022-04-11 13:29:58 -04:00
Paul Lorenz c3538f6781 update deps and remove quick references 2022-03-24 13:33:24 -04:00