mirror of
https://github.com/juanfont/headscale.git
synced 2026-07-08 00:50:20 +09:00
7b080e8cfa
Cover the user-reported sequence in #3203: two subnet routers advertise the same prefix, both go offline, one returns. Three variants: - servertest TestRoutes/ha_secondary_recovers_after_all_offline: in-process Disconnect/Reconnect. - integration TestHASubnetRouterFailoverBothOffline: tailscale down/up between two routers, asserts both server and client state restore. - integration TestHASubnetRouterFailoverBothOfflineCablePull: iptables -j DROP between router and headscale, mimicking a real cable pull that breaks the ESTABLISHED long-poll. All three pass on main — the production failure narrows to a direct State.Connect/State.Disconnect race that the cable-pull harness does not reliably hit, addressed in a follow-up commit. The tests stay as regression coverage for the user's scenario. Updates #3203