112 Commits

Author SHA1 Message Date
Paul Lorenz ec57c80ff7 ER/T Hosting HA chaos test and fixes (#2806)
* Add ERT hosting chaos test. Also add ert terminator validation utility. Fixes #2288

* Rework ER/T terminator management based on SDK terminator management code

* Update deps

* Make sdk/ert-terminators into a constant
2025-02-25 17:02:21 -05:00
Paul Lorenz 03870760c3 Ensure restores and migrations work properly with RDM. Add restore from db for HA Clusters. Fixes #2549. Fixes #2649. Fixes #2707 2025-01-31 13:57:43 -05:00
Paul Lorenz b96ae50b08 Always use RDM when there are multiple controllers. Fixes #2694 2025-01-27 09:51:41 -05:00
Paul Lorenz 57a367b48c Fix empty controller list on upgrade. Fixes #2692 2025-01-24 23:32:17 -05:00
Paul Lorenz 5429ce5064 Separate leader updates from controller cluster member updates 2025-01-09 16:18:34 -05:00
Paul Lorenz 37a80da89b Add RDM config, including a ctrl side disable flag. Fixes #2596 2025-01-07 19:22:47 -05:00
Paul Lorenz a34478bb06 Fix controller endpoint updates and update deps. Test RDM with HA. 2025-01-07 19:22:46 -05:00
Paul Lorenz e09c56867c Remove HA config from router. Fixes #2566 2025-01-07 19:21:53 -05:00
Paul Lorenz 32eddd61ca HA SDK terminators test. Fixes #2217. Fixes #2533 2024-11-12 18:45:08 -05:00
Paul Lorenz 6e1983991d Fixes from testing 2024-11-01 15:21:01 -04:00
Paul Lorenz 16f0a858e6 Add controller connect events. Fixes #1835. Fixes #2234 2024-11-01 15:21:01 -04:00
Paul Lorenz cccf0c06af Update to channel/v3. Fixes #2390 2024-09-09 12:23:25 -04:00
Paul Lorenz ef9a31359d Fix responsive check. Fixes #2171. Add router-connections inspection. Fixes #2219. Improve can't load data file log message. Fixes #2195 2024-07-15 09:49:49 -04:00
Paul Lorenz 898e41ae2a Implement router data model changesets. Fixes #1966 2024-04-23 11:56:10 -04:00
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