[pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/prepare] 2026-08-05T17:20:06.515964902-05:00 2026/08/05 22:20:06 Entrypoint initialization [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/place-scripts] 2026-08-05T17:20:07.318881495-05:00 2026/08/05 22:20:07 Decoded script /tekton/scripts/script-0-7gj9r [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.104195425-05:00 ==> [amd64] rootfs loop=/dev/loop43 -> /tmp/device-sim-rootfs.tP4rTD (ro) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.109509277-05:00 ==> [amd64] device-sim gate -- HARD-FAIL [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.109521847-05:00 ==> [amd64] device-sim Layer A: behavioral mesh self-heal (edge#282) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.109527717-05:00 ==> [amd64] rig headscale=/usr/local/bin/headscale (offline, baked); tailscale/tailscaled from golden rootfs [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.119742877-05:00 ==> edge-sim mesh self-heal scenario (#282) against /tmp/device-sim-rootfs.tP4rTD [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.130010028-05:00 ok: sim workspace /tmp/edge-device-sim.sYgnGC (host=sm-sim-30, rootfs=/tmp/device-sim-rootfs.tP4rTD) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.142927320-05:00 ok: headscale 0.25.1 (/usr/local/bin/headscale), port 18080, state /tmp/edge-sim-fixture [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.665854494-05:00 ok: headscale healthy: http://127.0.0.1:18080/health [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.681758157-05:00 ok: user 'simdev' created [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.685192701-05:00 ok: rig up -- eval this output or: . /tmp/edge-sim-fixture/rig.env [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.691021424-05:00 ok: fixture rig up (headscale=http://127.0.0.1:18080) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:12.733905805-05:00 ok: tailscale binaries: golden rootfs pair (1.98.9) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.002365335-05:00 ok: userspace tailscaled up (pid 121, origin=rootfs, socket=/tmp/edge-device-sim.sYgnGC/tailscaled.sock) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.002424476-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.002430346-05:00 ==== CASE 1: valid (reusable) staged key, fault=tailscale logout ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.079001860-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.163235154-05:00 PASS: case1: joined mesh (Running, ip=100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.304078963-05:00 PASS: case1: logout forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.420336605-05:00 (recovered on tick 1/4) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.427702244-05:00 PASS: case1: mesh-rejoin recovered via staged key (Running, ip=100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.427722584-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.427727194-05:00 ==== CASE 2: stale staged key + baked break-glass (SIM_BAKED_AUTHKEY), fault=server expire ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.683929371-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.917610959-05:00 PASS: case2: joined mesh (Running, ip=100.64.0.3) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:13.986400402-05:00 PASS: case2: server-side expire forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.367307628-05:00 (recovered on tick 1/4) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.374993669-05:00 PASS: case2: mesh-rejoin recovered via BREAK-GLASS key (Running, ip=100.64.0.3) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.375016379-05:00 PASS: case2: break-glass marker written (selftest-visible, EPHEMERAL-session warning path) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.375028039-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.375032439-05:00 ==== CASE 3: no usable key, fault=server expire -> bounded, exit 0, stays off-mesh ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.483477458-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.662799717-05:00 PASS: case3: joined mesh (Running, ip=100.64.0.5) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:14.901928592-05:00 PASS: case3: logout+expire forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.147793672-05:00 PASS: case3: mesh-rejoin exited 0 (never-fatal contract) in 1s [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.147820512-05:00 PASS: case3: bounded (1s <= 60s cap) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.169373607-05:00 PASS: case3: honest off-mesh report (state=NeedsLogin, no phantom recovery) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.169426077-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.169447377-05:00 ==== CASE 4: stale session (Running+IP, data-plane dark) -> cross-tick self-heal ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.276214538-05:00 ok: minted reusable preauthkey for 'simdev' (expiration 24h) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.376409482-05:00 PASS: case4: joined mesh, looks healthy (Running, ip=100.64.0.6) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.380130497-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-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.822833940-05:00 (self-healed on tick 2/4: rung-2 re-auth re-established the session) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.824175126-05:00 PASS: case4: stale session self-healed -- rung-2 re-auth marker present + Running (fix #283 active) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.824196266-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.824202786-05:00 ==> summary: 15 passed, 0 failed [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:15.824206816-05:00 ==> edge-sim mesh self-heal: OK [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:26.874054637-05:00 ==> [amd64] device-sim Layer B: real enrollment flow (edge#284) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:26.884147695-05:00 ==> edge-sim ENROLLMENT flow scenario (Layer B, #284) against /tmp/device-sim-rootfs.tP4rTD [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:26.894174623-05:00 ok: sim workspace /tmp/edge-device-sim.GV5ito (host=sm-sim-1471, rootfs=/tmp/device-sim-rootfs.tP4rTD) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:26.907553103-05:00 ok: headscale 0.25.1 (/usr/local/bin/headscale), port 18080, state /tmp/edge-sim-fixture [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:27.428508257-05:00 ok: headscale healthy: http://127.0.0.1:18080/health [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:27.445057460-05:00 ok: user 'simdev' created [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:27.999604968-05:00 ok: enroll service healthy: http://127.0.0.1:18084/enroll (mints tag:edge preauthkeys off this rig) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.001128544-05:00 ok: rig up -- eval this output or: . /tmp/edge-sim-fixture/rig.env [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.008643852-05:00 ok: fixture rig up (headscale=http://127.0.0.1:18080, enroll=http://127.0.0.1:18084) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.028676717-05:00 ok: tailscale binaries: golden rootfs pair (1.98.9) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.309062914-05:00 ok: userspace tailscaled up (pid 1581, origin=rootfs, socket=/tmp/edge-device-sim.GV5ito/tailscaled.sock) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.309156094-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.309165304-05:00 ==== CASE 1: edge-enroll POST /enroll -> per-device authkey staged ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.401264278-05:00 PASS: case1: wrong token rejected (edge-enroll non-zero) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.401404168-05:00 PASS: case1: wrong token staged no authkey [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.530862332-05:00 PASS: case1: edge-enroll exchange exited 0 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.530893772-05:00 PASS: case1: per-device authkey staged -> /tmp/edge-device-sim.GV5ito/data/provision/mesh-authkey [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.533327941-05:00 PASS: case1: staged authkey is 0600 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.533388071-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:28.533406351-05:00 ==== CASE 2: firstboot-mesh enrollment-precedence -> Running + mesh IP (not break-glass) ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.177049805-05:00 PASS: case2: firstboot-mesh joined the loopback mesh (Running, ip=100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.184200689-05:00 PASS: case2: mesh IP acquired (100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.184223849-05:00 PASS: case2: enrollment marker present -- joined via a per-device token key (#407 evidence) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.184256889-05:00 PASS: case2: single-use enrollment key consumed after join (no replay risk, #407) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.184302299-05:00 PASS: case2: no break-glass marker -- joined via the ENROLLMENT key (precedence honoured) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185675634-05:00 PASS: case2: firstboot-mesh logged the enrollment key source [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185735224-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185743874-05:00 ==== CASE 3: bounded ansible-pull DRY-RUN (escape-hatch transport slice, #455) ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185825564-05:00 SKIP: case3: ansible-pull not on PATH (the golden/pod image carries ansible-core) -- converge slice skipped [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185860794-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185869134-05:00 ==== CASE 4: shipped edge-selftest confirms mesh enrollment ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185937265-05:00 SKIP: case4: ansible-playbook not on PATH -- edge-selftest needs ansible-core; selftest confirmation skipped [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185943715-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185946845-05:00 ==> summary: 11 passed, 0 failed, 2 skipped [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:20:54.185969035-05:00 ==> edge-sim enrollment flow: OK [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:15.275910069-05:00 ==> [amd64] device-sim Layer C: chaos-monkey fail-safe recovery (edge#285) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:15.286192290-05:00 ==> edge-sim CHAOS-MONKEY scenario (Layer C, #285) against /tmp/device-sim-rootfs.tP4rTD [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:15.295810299-05:00 ok: sim workspace /tmp/edge-device-sim.pwqxFF (host=sm-sim-2161, rootfs=/tmp/device-sim-rootfs.tP4rTD) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:15.308769208-05:00 ok: headscale 0.25.1 (/usr/local/bin/headscale), port 18080, state /tmp/edge-sim-fixture [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:15.828685606-05:00 ok: headscale healthy: http://127.0.0.1:18080/health [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:15.845363437-05:00 ok: user 'simdev' created [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.390947027-05:00 ok: enroll service healthy: http://127.0.0.1:18084/enroll (mints tag:edge preauthkeys off this rig) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.392377712-05:00 ok: rig up -- eval this output or: . /tmp/edge-sim-fixture/rig.env [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.400308295-05:00 ok: fixture rig up (headscale=http://127.0.0.1:18080, enroll=http://127.0.0.1:18084) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.419221783-05:00 ok: tailscale binaries: golden rootfs pair (1.98.9) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.702291788-05:00 ok: userspace tailscaled up (pid 2271, origin=rootfs, socket=/tmp/edge-device-sim.pwqxFF/tailscaled.sock) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.702433838-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:16.702443728-05:00 ==== CASE 1: kill tailscaled -> restart + mesh-rejoin -> Running + mesh IP ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:41.217577898-05:00 PASS: case1: baseline up + enrolled (Running, ip=100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.241364247-05:00 PASS: case1: fault took -- tailscaled dead, LocalAPI socket unresponsive (mesh down) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.509625744-05:00 ok: userspace tailscaled up (pid 2661, origin=rootfs, socket=/tmp/edge-device-sim.pwqxFF/tailscaled.sock) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.705798591-05:00 (recovered on tick 1/4) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.713444711-05:00 PASS: case1: mesh restored after tailscaled kill (Running, ip=100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.722345215-05:00 PASS: case1: reachable mesh IP re-acquired (100.64.0.1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.722369705-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:21:44.722375545-05:00 ==== CASE 2: logout + server expire -> self-heal RE-ENROLLS (edge-enroll --force) -> Running ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.298859229-05:00 PASS: case2: baseline up + enrolled (Running, ip=100.64.0.2) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.424984530-05:00 PASS: case2: logout+expire forced off-mesh (state=NeedsLogin) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.687567846-05:00 (recovered on tick 1/4) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.696477726-05:00 PASS: case2: self-heal recovered the mesh (Running, ip=100.64.0.2) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.696499316-05:00 PASS: case2: no break-glass marker -- recovered via the per-device enrollment path (#469) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.698261850-05:00 PASS: case2: mesh-rejoin logged the edge-enroll --force re-enrollment [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.698302271-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.698311221-05:00 ==== CASE 3: kill vector -> SM_HOST oneshot recovery (edge#244) -> shipping resumes ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:09.937208232-05:00 PASS: case3: oneshot derived the host label (SM_HOST=sm-sim-2161, expect SM_HOST=sm-sim-2161 via the sim hostname) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:14.952476069-05:00 PASS: case3: vector (stand-in) shipping in steady state (ships=1) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:15.960805450-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-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:15.978047079-05:00 PASS: case3: SM_HOST oneshot re-fired -- env re-derived (SM_HOST=sm-sim-2161) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990192987-05:00 PASS: case3: shipping RESUMED after the oneshot recovery (ships 1 -> 2) [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990454758-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990468308-05:00 ==== CASE 4: post-chaos edge-selftest confirms mesh/tailscale_enrolled = pass ==== [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990491028-05:00 SKIP: case4: ansible-playbook not on PATH -- edge-selftest needs ansible-core; post-chaos confirmation skipped [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990501428-05:00 [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990507878-05:00 ==> summary: 14 passed, 0 failed, 1 skipped [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:20.990515088-05:00 ==> edge-sim chaos-monkey: OK [pod/edge-image-builder-rcval-4zfnv-edge-device-sim-amd64-pod/step-device-sim] 2026-08-05T17:22:42.085488505-05:00 ==> [amd64] device-sim done