From 08935ff7e76d7a5aabe85f736594e7af66d30f40 Mon Sep 17 00:00:00 2001 From: joshsiv-mulga Date: Thu, 7 May 2026 21:32:18 +1000 Subject: [PATCH] fix(e2e): replace guest SSH uptime check with LaunchTime assertion Phase 8.3 polled VPC instance IPs via two-hop SSH. In single-node macvlan mode the host has no route to VPC subnets, so SSH always timed out (10 min of dead retries) even when the VMs were healthy (ALB targets passing health checks). Replace with a LaunchTime comparison: the daemon resets LaunchTime to time.Now() when it relaunches QEMU on recovery, so LaunchTime >= REBOOT_START is a fast, network-topology-independent reboot confirmation. --- tests/e2e/run-reboot-e2e.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/e2e/run-reboot-e2e.sh b/tests/e2e/run-reboot-e2e.sh index 7ac747c7e..ab7f0702f 100755 --- a/tests/e2e/run-reboot-e2e.sh +++ b/tests/e2e/run-reboot-e2e.sh @@ -10,7 +10,7 @@ # SSH_KEY — path to ssh key the runner can use to reach tf-user@WAN_IP # # Sequence: -# 1. Pre-reboot: VPC + 2 app EC2s + internet-facing ALB; verify round-robin. +# 1. Pre-reboot: VPC + 2 app EC2s + internal ALB; verify round-robin. # 2. Snapshot pre-reboot state (instance IPs, ALB ENI MAC, ovn-nbctl show). # 3. systemctl reboot the host; poll TCP/22 from the runner until SSH returns. # 4. Wait for spinifex services + AWS gateway to respond. @@ -27,6 +27,8 @@ REBOOT_WAIT_SECS="${REBOOT_WAIT_SECS:-300}" DAEMON_READY_SECS="${DAEMON_READY_SECS:-180}" INSTANCE_RUNNING_SECS="${INSTANCE_RUNNING_SECS:-120}" LB_RECOVER_SECS="${LB_RECOVER_SECS:-180}" +LAUNCH_TIME_SECS="${LAUNCH_TIME_SECS:-30}" + NODE_KEY_PATH="\$HOME/reboot-e2e-key" NODE_USERDATA_PATH="\$HOME/reboot-e2e-userdata.txt"