[pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.578774215-05:00 ==> [amd64] rootfs loop=/dev/loop24 -> /tmp/device-sim-rootfs.XoF6sW (ro) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.583556469-05:00 ==> [amd64] device-sim gate -- HARD-FAIL [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.583570479-05:00 ==> [amd64] device-sim Layer A: behavioral mesh self-heal (edge#282) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.583576409-05:00 ==> [amd64] rig headscale=/usr/local/bin/headscale (offline, baked); tailscale/tailscaled from golden rootfs [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.592276943-05:00 ==> edge-sim mesh self-heal scenario (#282) against /tmp/device-sim-rootfs.XoF6sW [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.601356294-05:00 ok: sim workspace /tmp/edge-device-sim.IGs3lK (host=sm-sim-27, rootfs=/tmp/device-sim-rootfs.XoF6sW) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:49.612110772-05:00 ok: headscale 0.25.1 (/usr/local/bin/headscale), port 18080, state /tmp/edge-sim-fixture [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.131367971-05:00 ok: headscale healthy: http://127.0.0.1:18080/health [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.146591456-05:00 ok: user 'simdev' created [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.149793922-05:00 ok: rig up -- eval this output or: . /tmp/edge-sim-fixture/rig.env [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.155953335-05:00 ok: fixture rig up (headscale=http://127.0.0.1:18080) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.197604299-05:00 ok: tailscale binaries: golden rootfs pair (1.98.9) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.466533978-05:00 ok: userspace tailscaled up (pid 118, origin=rootfs, socket=/tmp/edge-device-sim.IGs3lK/tailscaled.sock) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.466558408-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.466564198-05:00 ==== CASE 1: valid (reusable) staged key, fault=tailscale logout ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.540993453-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.621570372-05:00 PASS: case1: joined mesh (Running, ip=100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.668051929-05:00 PASS: case1: logout forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.799586191-05:00 (recovered on tick 1/4) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.807052634-05:00 PASS: case1: mesh-rejoin recovered via staged key (Running, ip=100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.807080704-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.807088544-05:00 ==== CASE 2: stale staged key + baked break-glass (SIM_BAKED_AUTHKEY), fault=server expire ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.921025289-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:50.987766723-05:00 PASS: case2: joined mesh (Running, ip=100.64.0.3) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.051194702-05:00 PASS: case2: server-side expire forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.330232535-05:00 (recovered on tick 1/4) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.337378820-05:00 PASS: case2: mesh-rejoin recovered via BREAK-GLASS key (Running, ip=100.64.0.3) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.337395420-05:00 PASS: case2: break-glass marker written (selftest-visible, EPHEMERAL-session warning path) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.337440630-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.337444410-05:00 ==== CASE 3: no usable key, fault=server expire -> bounded, exit 0, stays off-mesh ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.449184102-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.506358988-05:00 PASS: case3: joined mesh (Running, ip=100.64.0.5) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.599293943-05:00 PASS: case3: logout+expire forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.786372054-05:00 PASS: case3: mesh-rejoin exited 0 (never-fatal contract) in 0s [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.786399024-05:00 PASS: case3: bounded (0s <= 60s cap) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.803013418-05:00 PASS: case3: honest off-mesh report (state=NeedsLogin, no phantom recovery) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.803041078-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.803046818-05:00 ==== CASE 4: stale session (Running+IP, data-plane dark) -> cross-tick self-heal ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.892661858-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.951582721-05:00 PASS: case4: joined mesh, looks healthy (Running, ip=100.64.0.6) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:51.955563490-05:00 PASS: case4: mesh-liveness probe pointed at DARK loopback stand-in (http://127.0.0.1:19099/); underlay=http://127.0.0.1:18080 (up) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:52.212249834-05:00 (self-healed on tick 2/4: rung-2 re-auth re-established the session) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:52.212377323-05:00 PASS: case4: stale session self-healed -- rung-2 re-auth marker present + Running (fix #283 active) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:52.212392732-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:52.212397722-05:00 ==> summary: 15 passed, 0 failed [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:45:52.212401732-05:00 ==> edge-sim mesh self-heal: OK [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:03.262163725-05:00 ==> [amd64] device-sim Layer B: real enrollment flow (edge#284) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:03.271403975-05:00 ==> edge-sim ENROLLMENT flow scenario (Layer B, #284) against /tmp/device-sim-rootfs.XoF6sW [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:03.279477024-05:00 ok: sim workspace /tmp/edge-device-sim.0w0v2r (host=sm-sim-1461, rootfs=/tmp/device-sim-rootfs.XoF6sW) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:03.290109004-05:00 ok: headscale 0.25.1 (/usr/local/bin/headscale), port 18080, state /tmp/edge-sim-fixture [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:03.809040538-05:00 ok: headscale healthy: http://127.0.0.1:18080/health [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:03.824527571-05:00 ok: user 'simdev' created [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.379649262-05:00 ok: enroll service healthy: http://127.0.0.1:18084/enroll (mints tag:edge preauthkeys off this rig) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.380818793-05:00 ok: rig up -- eval this output or: . /tmp/edge-sim-fixture/rig.env [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.388665444-05:00 ok: fixture rig up (headscale=http://127.0.0.1:18080, enroll=http://127.0.0.1:18084) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.406980195-05:00 ok: tailscale binaries: golden rootfs pair (1.98.9) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.672784775-05:00 ok: userspace tailscaled up (pid 1570, origin=rootfs, socket=/tmp/edge-device-sim.0w0v2r/tailscaled.sock) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.672926714-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.672948033-05:00 ==== CASE 1: edge-enroll POST /enroll -> per-device authkey staged ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.762478046-05:00 PASS: case1: wrong token rejected (edge-enroll non-zero) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.762614225-05:00 PASS: case1: wrong token staged no authkey [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.855580512-05:00 PASS: case1: edge-enroll exchange exited 0 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.855658391-05:00 PASS: case1: per-device authkey staged -> /tmp/edge-device-sim.0w0v2r/data/provision/mesh-authkey [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.857758466-05:00 PASS: case1: staged authkey is 0600 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.857804045-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:04.857812775-05:00 ==== CASE 2: firstboot-mesh enrollment-precedence -> Running + mesh IP (not break-glass) ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.304154452-05:00 PASS: case2: firstboot-mesh joined the loopback mesh (Running, ip=100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.311792415-05:00 PASS: case2: mesh IP acquired (100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.311814674-05:00 PASS: case2: enrollment marker present -- joined via a per-device token key (#407 evidence) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.311819154-05:00 PASS: case2: single-use enrollment key consumed after join (no replay risk, #407) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.311827134-05:00 PASS: case2: no break-glass marker -- joined via the ENROLLMENT key (precedence honoured) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.312995935-05:00 PASS: case2: firstboot-mesh logged the enrollment key source [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313036055-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313041445-05:00 ==== CASE 3: bounded ansible-pull converge DRY-RUN (transport slice) ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313126344-05:00 SKIP: case3: ansible-pull not on PATH (the golden/pod image carries ansible-core) -- converge slice skipped [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313153704-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313165904-05:00 ==== CASE 4: shipped edge-selftest confirms mesh enrollment ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313200374-05:00 SKIP: case4: ansible-playbook not on PATH -- edge-selftest needs ansible-core; selftest confirmation skipped [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313208824-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313211344-05:00 ==> summary: 11 passed, 0 failed, 2 skipped [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:30.313224914-05:00 ==> edge-sim enrollment flow: OK [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:51.399415178-05:00 ==> [amd64] device-sim Layer C: chaos-monkey fail-safe recovery (edge#285) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:51.410004998-05:00 ==> edge-sim CHAOS-MONKEY scenario (Layer C, #285) against /tmp/device-sim-rootfs.XoF6sW [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:51.419286579-05:00 ok: sim workspace /tmp/edge-device-sim.q0Dv7p (host=sm-sim-2143, rootfs=/tmp/device-sim-rootfs.XoF6sW) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:51.430801613-05:00 ok: headscale 0.25.1 (/usr/local/bin/headscale), port 18080, state /tmp/edge-sim-fixture [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:51.951031219-05:00 ok: headscale healthy: http://127.0.0.1:18080/health [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:51.968773996-05:00 ok: user 'simdev' created [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:52.512905774-05:00 ok: enroll service healthy: http://127.0.0.1:18084/enroll (mints tag:edge preauthkeys off this rig) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:52.514171044-05:00 ok: rig up -- eval this output or: . /tmp/edge-sim-fixture/rig.env [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:52.522133425-05:00 ok: fixture rig up (headscale=http://127.0.0.1:18080, enroll=http://127.0.0.1:18084) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:52.540446688-05:00 ok: tailscale binaries: golden rootfs pair (1.98.9) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:53.808499790-05:00 ok: userspace tailscaled up (pid 2251, origin=rootfs, socket=/tmp/edge-device-sim.q0Dv7p/tailscaled.sock) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:53.808628909-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:46:53.808635849-05:00 ==== CASE 1: kill tailscaled -> restart + mesh-rejoin -> Running + mesh IP ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:18.226731588-05:00 PASS: case1: baseline up + enrolled (Running, ip=100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.256180595-05:00 PASS: case1: fault took -- tailscaled dead, LocalAPI socket unresponsive (mesh down) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.522066347-05:00 ok: userspace tailscaled up (pid 2644, origin=rootfs, socket=/tmp/edge-device-sim.q0Dv7p/tailscaled.sock) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.691900504-05:00 (recovered on tick 1/4) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.699512347-05:00 PASS: case1: mesh restored after tailscaled kill (Running, ip=100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.708038214-05:00 PASS: case1: reachable mesh IP re-acquired (100.64.0.1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.708101363-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:21.708106393-05:00 ==== CASE 2: logout + server expire -> self-heal RE-ENROLLS (edge-enroll --force) -> Running ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.208326611-05:00 PASS: case2: baseline up + enrolled (Running, ip=100.64.0.2) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.324119154-05:00 PASS: case2: logout+expire forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.609629800-05:00 (recovered on tick 1/4) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.618578504-05:00 PASS: case2: self-heal recovered the mesh (Running, ip=100.64.0.2) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.618606864-05:00 PASS: case2: no break-glass marker -- recovered via the per-device enrollment path (#469) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.620358071-05:00 PASS: case2: mesh-rejoin logged the edge-enroll --force re-enrollment [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.620389781-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.620404261-05:00 ==== CASE 3: kill vector -> SM_HOST oneshot recovery (edge#244) -> shipping resumes ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:46.751744548-05:00 PASS: case3: oneshot derived the host label (SM_HOST=sm-sim-2143, expect SM_HOST=sm-sim-2143 via the sim hostname) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:51.763532960-05:00 PASS: case3: vector (stand-in) shipping in steady state (ships=1) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:52.770951441-05:00 PASS: case3: fault took -- vector validate-aborts on the missing SM_HOST (the #244 first-start latch), shipping stopped [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:52.786266748-05:00 PASS: case3: SM_HOST oneshot re-fired -- env re-derived (SM_HOST=sm-sim-2143) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.797940792-05:00 PASS: case3: shipping RESUMED after the oneshot recovery (ships 1 -> 2) [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.798151791-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.798158950-05:00 ==== CASE 4: post-chaos edge-selftest confirms mesh/tailscale_enrolled = pass ==== [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.798205400-05:00 SKIP: case4: ansible-playbook not on PATH -- edge-selftest needs ansible-core; post-chaos confirmation skipped [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.798214990-05:00 [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.798219380-05:00 ==> summary: 14 passed, 0 failed, 1 skipped [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:47:57.798232740-05:00 ==> edge-sim chaos-monkey: OK [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/step-device-sim] 2026-07-16T08:48:18.885152164-05:00 ==> [amd64] device-sim done [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/prepare] 2026-07-16T08:45:43.868838873-05:00 2026/07/16 13:45:43 Entrypoint initialization [pod/edge-image-builder-tag-sjr6g-edge-device-sim-amd64-pod/place-scripts] 2026-07-16T08:45:44.718036410-05:00 2026/07/16 13:45:44 Decoded script /tekton/scripts/script-0-hpwcb