mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-19 10:52:04 +00:00
f8482ad05a
* test(reboot): capture heartbeat-path diagnostics on post-reboot health timeout When post-reboot ALB targets fail to go healthy, the lb-agent's heartbeat to the gateway times out with 'context deadline exceeded while awaiting headers' — a symptom that alone cannot distinguish a network-level drop from an app/gateway stall. Replace the fatal WaitForTargetsHealthy with a non-fatal poll that, on timeout, tcpdumps br-wan for the heartbeat 5-tuple + ARP for the ALB floating IP and pulls the lb-agent console + awsgw journal, then fails. Disambiguates the layer before any fix (mulga-siv-265). * test(reboot): re-aim heartbeat capture + add OVN dataplane flow-dump Run 27250238163 proved the post-reboot failure is network-level (all 3 floating IPs 100% packet-loss from host) but NOT neigh/NAT priming — neigh is primed and NAT rows are present, only br-int forwarding is dead. The prior capture watched br-wan for the ALB floating IP, while the real lb-agent heartbeat posts to the gateway port on the host's advertise interface, so the L4 classifier could never see the heartbeat and defaulted regardless. - heartbeat tcpdump now watches the gateway port on `any` (real path) plus a secondary br-wan floating-IP capture for north-south; classifier keys off gateway-port L4 presence. - new dumpOVNDataplane captures ovs-vsctl show, ovs-ofctl dump-flows br-int, ovn-sbctl chassis + Port_Binding, dnat_and_snat NAT rows, host neigh, and a host->floating-IP ping + ofproto/trace, to pin the flow-restore step. - failure path dumps diag-ovn-flows.txt alongside diag-heartbeat.txt. Test-only, build-tagged e2e; no production code.