Paul Lorenz
91fd7097f0
Add support for sticky termininator selection on dials. Fixes #2019
2024-05-21 13:18:15 -04:00
Paul Lorenz
898e41ae2a
Implement router data model changesets. Fixes #1966
2024-04-23 11:56:10 -04:00
Paul Lorenz
d62e3cb71f
Use cmap IterCB instead of IterBuffered where possible. Fixes #1902
2024-04-04 21:27:38 -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
8d11af3d97
Optimize network run loop. Fixes #1897
...
* When routers change (connect/disconnect), we re-check the mesh. We are passing in the routers to the channel and they can build up, which is unnecessary. We only need to signal once for all the routers that change since the last time we checked, that the mesh needs to be checked.
* We pass link changes through the run method, which is unnecessary since we pass it to a new goroutine. This inefficiency should be fixed.
* We're evaluating all faulted links for rerouting, even if they were still pending. Only reroute connected links.
* We're using time.After in each for loop, which can accumulate timers. Use a single Ticker instead.
2024-04-04 18:46:50 -04:00
Paul Lorenz
aaceb84a0f
Don't save old link statues in memory, the info is in link events. Fixes #1896
2024-04-04 18:18:35 -04:00
Paul Lorenz
3c3bfb69f7
Fix panic if router is disconnected in unroute. Fixes #1854
2024-03-21 10:02:39 -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
8423a8dd6a
Fix link management race conditions found by chaos testing. Fixes #1709
2024-01-29 17:23:51 -05:00
Paul Lorenz
c03c3c2851
Additional fixes and tweaks
2024-01-19 17:35:25 -05:00
Paul Lorenz
c4abcae949
Link management fixes. Fixes #1692 Fixes #1693
2024-01-19 17:33:21 -05:00
Paul Lorenz
41a37ebe7e
Add initial router link validation utility. Fixes #1678
2024-01-05 13:10:02 -05:00
Paul Lorenz
df2ab68ad5
Make sure link accepts are not single threaded. Fixes #1669
2023-12-29 10:18:50 -05:00
Paul Lorenz
9ddd1b941d
Add service max idle time. Fixes #1496 . Add decomission router support. Fixes #1402
2023-12-08 12:48:56 -05:00
Paul Lorenz
a84369a6e9
Consolidate fabric and edge persistence code. Fixes #1555
2023-12-06 17:36:37 -05:00
Paul Lorenz
16cf13ac08
Support filter/sort/page on circuits and links. Fixes #1547
2023-12-05 10:30:08 -05:00
Paul Lorenz
db6554ee06
Implement idempotency for sdk terminators. Fixes #1446
2023-12-01 15:44:05 -05:00
Paul Lorenz
9bed8a14a8
Add optional command rate limiter. Fixes #1445
2023-10-23 13:45:49 -04:00
Paul Lorenz
47a00aaf3d
Shutdown network watchdog when controller stops. Fixes #1442
2023-10-16 13:05:48 -04:00
Paul Lorenz
f3d67b7f49
Update fabric imports
2023-09-28 23:34:28 -04:00
Paul Lorenz
700ec34177
Make link heartbeats configurable. Add unresponsive close timeout. Fixes openziti/fabric#796
2023-09-18 22:40:19 -04:00
Paul Lorenz
bed7b0eb02
Allow specifying snapshot name with templating. Fixes #794 Fixes openziti/fabric#792
2023-09-18 15:19:23 -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
8dbc759d45
move event and events packages to controller
2023-08-10 17:10:17 -04:00
Paul Lorenz
f15b8bef23
Add some more config value validation and guardrails
2023-08-03 17:07:49 -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
8149b69614
Add support for quiescing and dequiescing routers. Fixes openziti/fabric#538
...
Quiesce marks all terminators as failed and stores the previous state.
Dequiesce restores all terminators with failed state and stored previous
state to their previous state
2023-06-05 17:46:13 -04:00
Paul Lorenz
5c9a942fa5
Timeout is getting reported as conn refused instead of timeout. Fixes openziti/fabric#738
2023-06-05 16:17:29 -04:00
Paul Lorenz
ef555a536e
Notify controller of forward faults on links. Fixes #724 . If reroute fails, circuit should be torn down. Fixes openziti/fabric#725
2023-05-25 15:05:28 -04:00
Paul Lorenz
bc9bac6f0d
Add config support for link groups. Doesn't use group config yet.
2023-05-11 09:34:33 -04:00
Paul Lorenz
a19a2ab2fe
Annotate circuit events with circuit tags, similar to usage. Fixes openziti/fabric#684
2023-04-25 22:54:22 -04:00
Paul Lorenz
23110fccb2
Implement entity change events. Fixes openziti/fabric#562
2023-04-25 11:38:03 -04:00
Paul Lorenz
f0b83d0010
Track raft index in Db. Let's us start without rerunning all cmds at startup. Fixes #677 . Fixes openziti/fabric#582
2023-04-25 11:32:35 -04:00
Paul Lorenz
bf76453ce8
Update to go 1.20
2023-04-25 11:32:34 -04:00
Paul Lorenz
d1d0fe781b
Update for storage API changes.
2023-04-25 11:32:33 -04:00
Paul Lorenz
9bb47428b7
Add network.run watchdog. Closes openziti/fabric#668
2023-04-11 17:11:27 -04:00
Paul Lorenz
cc09f32c34
Implement batched terminator deletes
2023-03-28 13:18:59 -04:00
Paul Lorenz
32da1861ca
Add router disable flag. Fixes openziti/fabric#651
2023-03-27 14:18:43 -04:00
gberl002
fbf01410e2
Reordering for 64 bit alignment
2023-03-14 14:54:15 -04:00
gberl002
40a57aadd3
Adding simple tests for checking 64 bit alignment of existing 64 bit values with atomic operations.
2023-03-14 14:47:42 -04:00
Paul Lorenz
a7957d0e4a
Fix concurrent map error. Fixes openziti/fabric#622
2023-03-02 11:09:13 -05:00
Michael Quigley
cdb550892b
externalize the interval age threshold
2023-03-01 14:04:05 -05:00
Michael Quigley
7e5340a298
use the already provided metrics report interval
2023-03-01 13:57:49 -05:00
Michael Quigley
53dcd24e26
tweaks for reporting interval
2023-02-28 11:56:39 -05:00
Paul Lorenz
1379618165
Update inspect names from routers -> connected-routers and clusterconfig -> cluster-config
2023-02-17 13:39:40 -05:00