runtime/vm100-degraded-check.sh: OK runtime/vm100-normal-check-and-resume.sh: OK runtime/vm100-pause-allocator.sh: OK runtime/vm101-arm-failure.sh: OK runtime/vm101-restore-normal.sh: OK runtime/vm101-wait-degraded.sh: OK VM101_WATCHER_SYNC_SHA256=4c884dcf90cbfa03d46445a7451379d86ae5cb915ccf6e963b0ad85fb006e142 FALLBACK_MAPPER_LOCK_REENTRY_FIX_INSTALLED=true RESULT=PASS_R20QH_VM101_LOCK_REENTRY_FIX_INSTALL VM100_ALLOCATOR_PAUSED=true RESULT=PASS_R20QH_VM100_ALLOCATOR_PAUSE WATCHER_STOP_PROVEN=true WATCHER_START_PROVEN=true WATCHER_PRIME_CYCLE_PROVEN=true WATCHER_PID_AFTER=9304 WATCHER_PRIME_SHA256=e33a711ef71d35c538d2b823c2b514b4f8fa029466eb5552e1267cf815bc05c4 CONTROLLED_ENDPOINT_PORT=1 INJECT_EPOCH=1785228227 AUTOMATIC_WATCHER_DETECTION_ARMED=true RESULT=PASS_R20QH_VM101_FAILURE_ARMED WATCH_PROGRESS_EPOCH=1785228257 WATCHER_PRESENT=true FAIL_COUNT=0 FALLBACK_MODE=NORMAL EXHAUSTED_SLOTS= OUTBOX_ACK=000000000001 PENDING_PRESENT=false WATCH_PROGRESS_EPOCH=1785228287 WATCHER_PRESENT=true FAIL_COUNT=0 FALLBACK_MODE=NORMAL EXHAUSTED_SLOTS= OUTBOX_ACK=000000000001 PENDING_PRESENT=false WATCH_PROGRESS_EPOCH=1785228317 WATCHER_PRESENT=true FAIL_COUNT=1 FALLBACK_MODE=NORMAL EXHAUSTED_SLOTS= OUTBOX_ACK=000000000001 PENDING_PRESENT=false WATCH_PROGRESS_EPOCH=1785228347 WATCHER_PRESENT=true FAIL_COUNT=1 FALLBACK_MODE=NORMAL EXHAUSTED_SLOTS= OUTBOX_ACK=000000000001 PENDING_PRESENT=false === R20QH WATCHER TIMEOUT DIAGNOSTICS === DIAGNOSTIC_UTC=2026-07-28T08:48:19Z --- process/service --- 29090 root 1200 S {router-wgpay-to} /bin/sh /usr/local/sbin/router-wgpay-topology-delivery-loop.sh inactive running --- endpoint --- UCI_ENDPOINT_HOST=178.215.227.13 UCI_ENDPOINT_PORT=1 CAZ2FgESKM67A3XofKNoftcFcy9mtaVga8t/3qcCABI= 178.215.227.13:1 CAZ2FgESKM67A3XofKNoftcFcy9mtaVga8t/3qcCABI= 1785228114 --- WATCHER_LAST_JSON /var/lib/router-egress-recovery/health-watch/last.json --- File: /var/lib/router-egress-recovery/health-watch/last.json Size: 1612 Blocks: 8 IO Block: 4096 regular file Device: 0,19 Inode: 136547 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:44:46.730282536 +0000 Modify: 2026-07-28 08:45:07.329772244 +0000 Change: 2026-07-28 08:45:07.329772244 +0000 Birth: 2026-07-28 08:44:46.730282536 +0000 { "schema":"router-egress-health-repair-watch-v3", "mode":"--commit", "run_mode":"loop", "any_action":false, "slots":[ {"slot":"egress1","iface":"vpn1","health_ok":true,"fail_count":0,"decision":"healthy","action":"none","dispatcher_rc":0,"required_confirm":"","adapter_reason":"","adapter_selected_pool":"","adapter_selected_pool_age_sec":0,"adapter_available_candidate_count":0,"candidate_endpoint":""}, {"slot":"egress2","iface":"vpn2","health_ok":false,"fail_count":1,"decision":"fail_observed_below_threshold","action":"none","dispatcher_rc":0,"required_confirm":"","adapter_reason":"","adapter_selected_pool":"","adapter_selected_pool_age_sec":0,"adapter_available_candidate_count":0,"candidate_endpoint":""}, {"slot":"egress3","iface":"vpn3","health_ok":true,"fail_count":0,"decision":"healthy","action":"none","dispatcher_rc":0,"required_confirm":"","adapter_reason":"","adapter_selected_pool":"","adapter_selected_pool_age_sec":0,"adapter_available_candidate_count":0,"candidate_endpoint":""}, {"slot":"egress4","iface":"vpn4","health_ok":true,"fail_count":0,"decision":"healthy","action":"none","dispatcher_rc":0,"required_confirm":"","adapter_reason":"","adapter_selected_pool":"","adapter_selected_pool_age_sec":0,"adapter_available_candidate_count":0,"candidate_endpoint":""}, {"slot":"egress5","iface":"vpn5","health_ok":true,"fail_count":0,"decision":"healthy","action":"none","dispatcher_rc":0,"required_confirm":"","adapter_reason":"","adapter_selected_pool":"","adapter_selected_pool_age_sec":0,"adapter_available_candidate_count":0,"candidate_endpoint":""} ] } --- WATCHER_LAST_ERR /var/lib/router-egress-recovery/health-watch/last.err --- File: /var/lib/router-egress-recovery/health-watch/last.err Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 0,19 Inode: 136548 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:44:46.730282536 +0000 Modify: 2026-07-28 08:44:46.730282536 +0000 Change: 2026-07-28 08:45:07.329772244 +0000 Birth: 2026-07-28 08:44:46.730282536 +0000 --- WATCHER_FAIL_COUNT /var/lib/router-egress-recovery/health-watch/fail-egress2 --- File: /var/lib/router-egress-recovery/health-watch/fail-egress2 Size: 2 Blocks: 8 IO Block: 4096 regular file Device: 0,19 Inode: 136540 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:43:34.202079214 +0000 Modify: 2026-07-28 08:46:15.438085090 +0000 Change: 2026-07-28 08:46:15.438085090 +0000 Birth: 2026-07-28 08:43:34.202079214 +0000 2 --- WATCHER_COOLDOWN /var/lib/router-egress-recovery/health-watch/cooldown-egress2 --- MISSING=true --- HEALTH_REPAIR_LOG /var/log/router-egress-health-repair.log --- File: /var/log/router-egress-health-repair.log Size: 10754978 Blocks: 21008 IO Block: 4096 regular file Device: 0,19 Inode: 129 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-16 12:52:41.820000000 +0000 Modify: 2026-07-28 08:46:19.937973607 +0000 Change: 2026-07-28 08:46:19.937973607 +0000 Birth: 2026-07-16 12:52:41.820000000 +0000 2026-07-28T07:53:46Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:53:50Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:54:54Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:54:58Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:55:03Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:55:07Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:55:11Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:56:15Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:56:19Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:56:23Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:56:27Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:56:32Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:57:36Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:57:40Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:57:44Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:57:48Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:57:52Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:58:56Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:59:00Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:59:05Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:59:09Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T07:59:13Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:00:17Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:00:21Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:00:25Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:00:30Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:00:34Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:01:38Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:01:42Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:01:46Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:01:50Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:01:54Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:02:59Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:03:03Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:03:07Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:03:11Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:03:15Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:04:19Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:04:23Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:04:28Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:04:32Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:04:36Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:05:40Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:05:44Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:05:48Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:05:52Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:05:57Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:07:01Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:07:05Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:07:09Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:07:13Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:07:17Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:08:21Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:08:26Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:08:30Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:08:34Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:08:38Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:09:42Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:09:46Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:09:50Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:09:55Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:09:59Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:11:03Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:11:07Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:11:11Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:11:15Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:11:19Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:12:24Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:12:28Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:12:32Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:12:36Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:12:40Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:13:44Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:13:48Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:13:53Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:13:57Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:14:01Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:15:05Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:15:09Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:15:13Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:15:17Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:15:22Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:16:26Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:16:30Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:16:34Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:16:38Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:16:42Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:17:46Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:17:51Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:17:55Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:17:59Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:18:03Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:07Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:11Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:15Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:20Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:24Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:40Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:44Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:49Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:53Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:19:57Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:21:01Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:21:05Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:21:09Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:21:14Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:21:18Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:22:22Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:22:26Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:22:30Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:22:34Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:22:38Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:23:43Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:23:47Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:23:51Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:23:55Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:23:59Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:25:03Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:25:07Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:25:12Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:25:16Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:25:20Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:26:24Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:26:28Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:26:32Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:26:36Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:26:41Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:27:45Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:27:49Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:27:53Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:27:57Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:28:01Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:29:05Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:29:09Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:29:14Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:29:18Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:29:22Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:30:26Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:30:30Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:30:34Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:30:39Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:30:43Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:31:47Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:31:51Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:31:55Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:31:59Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:32:03Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:33:08Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:33:12Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:33:16Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:33:20Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:33:24Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:34:28Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:34:32Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:34:37Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:34:41Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:34:45Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:35:49Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:35:53Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:35:57Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:36:01Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:36:06Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:37:10Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:37:14Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:37:18Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:37:22Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:37:26Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:38:30Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:38:35Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:38:39Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:38:43Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:38:47Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:39:51Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:39:55Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:39:59Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:40:04Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:40:08Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:41:12Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:41:16Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:41:20Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:41:24Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:41:29Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:42:33Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:42:37Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:42:41Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:42:45Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:42:49Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:43:30Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:43:34Z slot=egress2 iface=vpn2 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:43:38Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:43:42Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:43:46Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:44:50Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:44:54Z slot=egress2 iface=vpn2 health_ok=false fail_count=1 decision=fail_observed_below_threshold action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:44:59Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:45:03Z slot=egress4 iface=vpn4 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:45:07Z slot=egress5 iface=vpn5 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:46:11Z slot=egress1 iface=vpn1 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:46:15Z slot=egress2 iface=vpn2 health_ok=false fail_count=2 decision=dry_run_failed_no_decision action=dry_run_dispatch dispatcher_rc=97 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= 2026-07-28T08:46:19Z slot=egress3 iface=vpn3 health_ok=true fail_count=0 decision=healthy action=none dispatcher_rc=0 mode=--commit adapter_reason= pool= pool_age_sec=0 candidate_count=0 candidate= --- WATCHER_TOPOLOGY_LOG /var/log/router-wgpay-health-topology.log --- File: /var/log/router-wgpay-health-topology.log Size: 17809 Blocks: 40 IO Block: 4096 regular file Device: 0,19 Inode: 119780 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-27 08:25:01.970564795 +0000 Modify: 2026-07-28 08:46:15.728077899 +0000 Change: 2026-07-28 08:46:15.728077899 +0000 Birth: 2026-07-27 08:25:01.970564795 +0000 2026-07-28T03:50:03Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:51:23Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:51:24Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:52:44Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:52:44Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:54:05Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:54:05Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:55:26Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:55:26Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:56:47Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:56:47Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:58:08Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:58:08Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:59:28Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T03:59:29Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:00:49Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:00:49Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:02:10Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:02:10Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:03:31Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:03:31Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:04:52Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:04:52Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:06:13Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:06:13Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:07:33Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:07:34Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:08:54Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:08:54Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:10:15Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:10:15Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:11:36Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:11:36Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:12:57Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:12:57Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:14:18Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:14:18Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:15:38Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:15:39Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:16:59Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:16:59Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:18:20Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:18:20Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:19:41Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:19:41Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:21:02Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:21:02Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:22:23Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:22:23Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:23:43Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:23:44Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:25:04Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:25:04Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:26:25Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:26:25Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:27:46Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:27:46Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:29:07Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:29:07Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:30:28Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:30:28Z bridge_confirm_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:31:49Z bridge_start_failed slot=egress2 rc=75 RESULT=STOP_FALLBACK_MAPPER_LOCKED RESULT=STOP_WATCHER_TOPOLOGY_MAPPER_APPLY 2026-07-28T04:31:49Z bridge_confirm_failed slot=egress2 rc=75 RESULT=PASS_TOPOLOGY_GENERATION_CREATED PENDING_GENERATION=000000000002 PENDING_PAYLOAD_SHA256=ccfd9f9ed2158058cab9e27a65b1de8f02558fe9e576f61e1a0fc43072116d20 RESULT=PASS_WATCHER_TOPOLOGY_SYNC ACTION=bridge-start SLOT=egress2 FALLBACK_GENERATION=000000000001 FALLBACK_MODE=SLOT_EXHAUSTED EXHAUSTED_SLOTS=egress2 FIRST_HEALTHY_SLOT=egress1 OUTBOX_RC=0 RESULT=NOOP_WATCHER_TOPOLOGY_STATE_UNCHANGED EXHAUSTED_SLOTS=egress2 --- FALLBACK_STATE /etc/router-wgpay-fallback/state.kv --- File: /etc/router-wgpay-fallback/state.kv Size: 1123 Blocks: 8 IO Block: 4096 regular file Device: 8,2 Inode: 21344 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:46:15.478084098 +0000 Modify: 2026-07-28 08:46:15.478084098 +0000 Change: 2026-07-28 08:46:15.478084098 +0000 Birth: 2026-07-28 08:46:15.478084098 +0000 schema=router-wgpay-fallback-state-v1 payload_sha256=00ff7f93aae3ab961c07ba6fabc9c9bde9936155e76ea7e94044a301fbdc27d7 accepted_generation=000000000001 mode=SLOT_EXHAUSTED source_vm101_generation=WATCHER_bridge-start_egress2_1785228375 healthy_slots=egress1,egress3,egress4,egress5 exhausted_slots=egress2 healthy_selectors=cs1,cs2,cs3,cs4 exhausted_selectors=cs5 first_healthy_slot=egress1 created_epoch=1785228375 applied_epoch=1785228375 canonical.cs4.slot=egress1 effective.cs4.slot=egress1 effective.cs4.interface=vpn1 effective.cs4.table=201 effective.cs4.mark=0x201 canonical.cs5.slot=egress2 effective.cs5.slot=egress1 effective.cs5.interface=vpn1 effective.cs5.table=201 effective.cs5.mark=0x201 canonical.cs1.slot=egress3 effective.cs1.slot=egress3 effective.cs1.interface=vpn3 effective.cs1.table=203 effective.cs1.mark=0x203 canonical.cs2.slot=egress4 effective.cs2.slot=egress4 effective.cs2.interface=vpn4 effective.cs2.table=204 effective.cs2.mark=0x204 canonical.cs3.slot=egress5 effective.cs3.slot=egress5 effective.cs3.interface=vpn5 effective.cs3.table=205 effective.cs3.mark=0x205 fallback_selectors=cs5 --- FALLBACK_ACK /etc/router-wgpay-fallback/ack.kv --- File: /etc/router-wgpay-fallback/ack.kv Size: 364 Blocks: 8 IO Block: 4096 regular file Device: 8,2 Inode: 21347 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:46:15.658079635 +0000 Modify: 2026-07-28 08:46:15.658079635 +0000 Change: 2026-07-28 08:46:15.658079635 +0000 Birth: 2026-07-28 08:46:15.658079635 +0000 schema=router-wgpay-fallback-ack-v1 result=PASS accepted_generation=000000000001 payload_sha256=00ff7f93aae3ab961c07ba6fabc9c9bde9936155e76ea7e94044a301fbdc27d7 mode=SLOT_EXHAUSTED first_healthy_slot=egress1 fallback_selectors=cs5 plan_sha256=46ca1ea39cb94674b973738c764979f60ab4dd8d4bc37abb45417a901f80ec0f mapper_applied=true state_persisted=true always_on=true --- WATCHER_TOPOLOGY_STATE /etc/router-wgpay-watcher-topology/state.kv --- File: /etc/router-wgpay-watcher-topology/state.kv Size: 357 Blocks: 8 IO Block: 4096 regular file Device: 8,2 Inode: 21348 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:46:15.658079635 +0000 Modify: 2026-07-28 08:46:15.658079635 +0000 Change: 2026-07-28 08:46:15.658079635 +0000 Birth: 2026-07-28 08:46:15.658079635 +0000 schema=router-wgpay-watcher-topology-state-v1 updated_epoch=1785228375 last_action=bridge-start last_slot=egress2 last_reason=watcher_dispatch_start fallback_generation=000000000001 mode=SLOT_EXHAUSTED healthy_slots=egress1,egress3,egress4,egress5 exhausted_slots=egress2 healthy_selectors=cs1,cs2,cs3,cs4 exhausted_selectors=cs5 first_healthy_slot=egress1 --- OUTBOX_STATE /etc/router-wgpay-topology-delivery/state.kv --- File: /etc/router-wgpay-topology-delivery/state.kv Size: 787 Blocks: 8 IO Block: 4096 regular file Device: 8,2 Inode: 21341 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:48:18.185044484 +0000 Modify: 2026-07-28 08:48:18.185044484 +0000 Change: 2026-07-28 08:48:18.185044484 +0000 Birth: 2026-07-28 08:48:18.185044484 +0000 schema=router-wgpay-topology-delivery-state-v1 next_generation=000000000003 last_source_fingerprint=cc4dcbc9ed9ce4d3be637a746c0fb430a32d40b30ec66fe487414ad5ca521d0a pending_generation=000000000002 pending_payload_sha256=ccfd9f9ed2158058cab9e27a65b1de8f02558fe9e576f61e1a0fc43072116d20 pending_source_fingerprint=58b3a8a751e73951d5e9dd61c7cc1a6d82ba529add6af8731c944be6a2b750cc pending_attempt_count=13 last_attempt_epoch=1785228498 last_attempt_result=TRANSPORT_FAILED last_attempt_detail=rc1__Host10.71.100.1isnotinthetrustedhostsfile._ssh-ed25519fingerprintSHA256:3tCZwAxqJhqerx+0GQMX/YC3+WH/igDmeYxzus+XxP4_Doyouwanttocontinueconne last_acked_generation=000000000001 last_acked_payload_sha256=7f25454e81a8c418450a9743ab576e149a7872772ba2cb3de478d5e6a2f0b245 last_ack_epoch=1785093162 --- OUTBOX_PENDING /etc/router-wgpay-topology-delivery/pending.kv --- File: /etc/router-wgpay-topology-delivery/pending.kv Size: 378 Blocks: 8 IO Block: 4096 regular file Device: 8,2 Inode: 21350 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2026-07-28 08:46:15.708078395 +0000 Modify: 2026-07-28 08:46:15.708078395 +0000 Change: 2026-07-28 08:46:15.708078395 +0000 Birth: 2026-07-28 08:46:15.708078395 +0000 schema=router-wgpay-slot-topology-v1 generation=000000000002 mode=SLOT_EXHAUSTED source_vm101_generation=WATCHER_bridge-start_egress2_1785228375 healthy_slots=egress1,egress3,egress4,egress5 exhausted_slots=egress2 healthy_selectors=cs1,cs2,cs3,cs4 exhausted_selectors=cs5 created_epoch=1785228375 confirm_sha256=ccfd9f9ed2158058cab9e27a65b1de8f02558fe9e576f61e1a0fc43072116d20 --- outbox status --- schema=router-wgpay-topology-delivery-state-v1 delivery_enabled=1 state_dir=/etc/router-wgpay-topology-delivery transport_command=/usr/local/sbin/router-wgpay-topology-transport.sh schema=router-wgpay-topology-delivery-state-v1 next_generation=000000000003 last_source_fingerprint=cc4dcbc9ed9ce4d3be637a746c0fb430a32d40b30ec66fe487414ad5ca521d0a pending_generation=000000000002 pending_payload_sha256=ccfd9f9ed2158058cab9e27a65b1de8f02558fe9e576f61e1a0fc43072116d20 pending_source_fingerprint=58b3a8a751e73951d5e9dd61c7cc1a6d82ba529add6af8731c944be6a2b750cc pending_attempt_count=13 last_attempt_epoch=1785228498 last_attempt_result=TRANSPORT_FAILED last_attempt_detail=rc1__Host10.71.100.1isnotinthetrustedhostsfile._ssh-ed25519fingerprintSHA256:3tCZwAxqJhqerx+0GQMX/YC3+WH/igDmeYxzus+XxP4_Doyouwanttocontinueconne last_acked_generation=000000000001 last_acked_payload_sha256=7f25454e81a8c418450a9743ab576e149a7872772ba2cb3de478d5e6a2f0b245 last_ack_epoch=1785093162 pending_present=true pending_generation=000000000002 pending_payload_sha256=ccfd9f9ed2158058cab9e27a65b1de8f02558fe9e576f61e1a0fc43072116d20 --- nft mapper --- table inet router_egress_dscp_canary { chain prerouting { type filter hook prerouting priority mangle; policy accept; iifname "eth1" ip saddr 10.200.0.1 ip dscp cs1 meta mark set 0x00000203 counter packets 0 bytes 0 comment "R20QD_cs1_TO_egress3" iifname "eth1" ip saddr 10.200.0.1 ip dscp cs2 meta mark set 0x00000204 counter packets 0 bytes 0 comment "R20QD_cs2_TO_egress4" iifname "eth1" ip saddr 10.200.0.1 ip dscp cs3 meta mark set 0x00000205 counter packets 0 bytes 0 comment "R20QD_cs3_TO_egress5" iifname "eth1" ip saddr 10.200.0.1 ip dscp cs4 meta mark set 0x00000201 counter packets 0 bytes 0 comment "R20QD_cs4_TO_egress1" iifname "eth1" ip saddr 10.200.0.1 ip dscp cs5 meta mark set 0x00000201 counter packets 0 bytes 0 comment "R20QD_cs5_TO_egress1" } chain postrouting { type filter hook postrouting priority mangle; policy accept; meta mark 0x00000203 ip dscp cs1 ip dscp set cs0 counter packets 0 bytes 0 comment "R20QD_CLEAR_cs1_egress3" meta mark 0x00000204 ip dscp cs2 ip dscp set cs0 counter packets 0 bytes 0 comment "R20QD_CLEAR_cs2_egress4" meta mark 0x00000205 ip dscp cs3 ip dscp set cs0 counter packets 0 bytes 0 comment "R20QD_CLEAR_cs3_egress5" meta mark 0x00000201 ip dscp cs4 ip dscp set cs0 counter packets 0 bytes 0 comment "R20QD_CLEAR_cs4_egress1" meta mark 0x00000201 ip dscp cs5 ip dscp set cs0 counter packets 0 bytes 0 comment "R20QD_CLEAR_cs5_egress1" } } --- logread --- Tue Jul 28 08:46:15 2026 user.notice r20qh-controlled-core-fail: controlled core failure slot=egress2 === END R20QH WATCHER TIMEOUT DIAGNOSTICS === RESULT=STOP_R20QH_DEGRADED_ACK_TIMEOUT