===== edge-pr-validate-pr278-dvg9t-archive-logs-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-archive-logs-pod/prepare] 2026-07-08T10:16:22.359779438-05:00 2026/07/08 15:16:22 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-archive-logs-pod/place-scripts] 2026-07-08T10:16:23.407123521-05:00 2026/07/08 15:16:23 Decoded script /tekton/scripts/script-0-wlp9d [pod/edge-pr-validate-pr278-dvg9t-archive-logs-pod/place-scripts] 2026-07-08T10:16:23.428869123-05:00 2026/07/08 15:16:23 Decoded script /tekton/scripts/script-1-6qj2v [pod/edge-pr-validate-pr278-dvg9t-archive-logs-pod/step-collect-logs] 2026-07-08T10:16:29.205156235-05:00 ==> collecting pod logs for PipelineRun=edge-pr-validate-pr278-dvg9t ===== edge-pr-validate-pr278-dvg9t-clone-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-clone-pod/prepare] 2026-07-08T10:15:20.383408857-05:00 2026/07/08 15:15:20 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-clone-pod/place-scripts] 2026-07-08T10:15:21.338183403-05:00 2026/07/08 15:15:21 Decoded script /tekton/scripts/script-0-jsxlj [pod/edge-pr-validate-pr278-dvg9t-clone-pod/step-clone] 2026-07-08T10:15:25.641739384-05:00 From https://github.com/storeminder-ai/storeminder-edge [pod/edge-pr-validate-pr278-dvg9t-clone-pod/step-clone] 2026-07-08T10:15:25.641764403-05:00 * branch 56529cfb5f908dc7f159f415607ef0a62283e8be -> FETCH_HEAD [pod/edge-pr-validate-pr278-dvg9t-clone-pod/step-clone] 2026-07-08T10:15:25.664942929-05:00 Cloned 56529cfb5f908dc7f159f415607ef0a62283e8be ===== edge-pr-validate-pr278-dvg9t-lint-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.861846794-05:00 ok: install-system.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.863136235-05:00 ok: installer-logship.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.864297936-05:00 ok: installer-diaglink.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.865522077-05:00 ok: firstboot-mesh.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.866697378-05:00 ok: firstboot-logship.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.867870809-05:00 ok: firstboot-hostname.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.868994851-05:00 ok: firstboot-devicetype.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.872853382-05:00 ok: build-golden.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.875581162-05:00 ok: build-installer-rootfs.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.877961254-05:00 ok: build-selfinstall-disk.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.880065649-05:00 ok: build-rc.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884082929-05:00 ok: ci/edge-golden-smoke.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884131308-05:00 ok: overlay present: data.mount [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884149048-05:00 ok: overlay present: boot-efi.mount [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884173338-05:00 ok: overlay present: storeminder-data-check.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884207658-05:00 ok: overlay present: emergency.service.d/10-storeminder-sulogin-force.conf [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884242998-05:00 ok: overlay present: rescue.service.d/10-storeminder-sulogin-force.conf [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884258417-05:00 ok: overlay present: getty@tty1.service.d/autologin.conf [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.884300887-05:00 ok: boot-efi.mount enabled via local-fs.target.wants [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.885696857-05:00 ok: data.mount What= is by-label [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.887184836-05:00 ok: data.mount Options= has nofail [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.888874133-05:00 ok: boot-efi.mount What= is by-label ESP [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.890420031-05:00 ok: boot-efi.mount Options= has nofail [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.891693472-05:00 ok: emergency: Environment=SYSTEMD_SULOGIN_FORCE=1 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.893084982-05:00 ok: rescue: Environment=SYSTEMD_SULOGIN_FORCE=1 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.893159591-05:00 ok: overlay present: wait-online --any drop-in [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.894564701-05:00 ok: wait-online drop-in sets ExecStart ... --any [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.895975290-05:00 ok: wait-online drop-in blanks ExecStart= before re-setting it [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.896011920-05:00 ok: overlay present: catch-all DHCP .network [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.897497849-05:00 ok: catch-all .network sets DHCP=yes [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.898762939-05:00 ok: catch-all .network matches en*/eth* [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.898798299-05:00 ok: systemd-networkd.service enabled via multi-user.target.wants [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.898815599-05:00 ok: systemd-networkd.socket enabled via sockets.target.wants [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.898838909-05:00 ok: wait-online enabled via network-online.target.wants (pre-converge) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.900551026-05:00 ok: cloud-init network rendering disabled (99-storeminder-network.cfg) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.900579206-05:00 ok: overlay present: HDA/i915 softdep drop-in [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.901990435-05:00 ok: HDA drop-in orders i915 before snd_hda_intel (softdep) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.904074890-05:00 ok: edge-golden-smoke asserts /etc/resolv.conf is the resolved stub symlink (edge#143) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:41.905760557-05:00 ok: edge-golden-smoke asserts systemd-resolved is enabled in the golden (edge#143) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.481523878-05:00 ok: tests/golden-smoke-dns-fixtures.sh passes (resolv.conf-stub + resolved-enabled gate, edge#143) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.481636627-05:00 ok: overlay present: tailscaled /data-state drop-in [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.483023006-05:00 ok: tailscaled drop-in gates on /data (RequiresMountsFor) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.484396826-05:00 ok: tailscaled drop-in points --state at /data [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.485620147-05:00 ok: tailscaled drop-in disables logtail (--no-logs-no-support) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.487680372-05:00 ok: firstboot-mesh fallback drop-in disables logtail (--no-logs-no-support) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.489075531-05:00 ok: tailscaled drop-in creates /data/tailscale before start (ExecStartPre) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.489112521-05:00 ok: present: storeminder-pull.service (x86 baked unit) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.489131751-05:00 ok: present: storeminder-pull.timer (x86 baked unit) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.490954837-05:00 ok: storeminder-pull.service ExecStart uses relative site.yml [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.493061752-05:00 ok: storeminder-pull.service does not use playbook_dir [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.495634213-05:00 ok: storeminder-pull.timer sets OnCalendar + WantedBy=timers.target [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.501542869-05:00 ok: build-golden bakes storeminder-pull.{service,timer} + enables the timer (edge#87) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.506067035-05:00 ok: overlay bakes storeminder-pull.service (byte-identical to x86 baked unit) (edge#134) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.507221026-05:00 ok: overlay bakes storeminder-pull.timer (byte-identical to x86 baked unit) (edge#134) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.507275996-05:00 ok: overlay enables storeminder-pull.timer (timers.target.wants symlink) (edge#134) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.509094512-05:00 ok: storage device defaults to mmcblk0 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.511122227-05:00 ok: data-part growfs disabled [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.513151192-05:00 ok: grub.cfg boots from ${root} (no blind ESP label search) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.515125527-05:00 ok: internal-disk detection by lsblk TRAN [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.517322571-05:00 ok: mender.conf.j2 has no stale nvme0n1 reference [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.519362096-05:00 ok: install-system.sh creates ESP on the target [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.521018973-05:00 ok: install-system.sh creates UROOTA on the target [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.522592902-05:00 ok: install-system.sh creates UROOTB on the target [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.524483528-05:00 ok: install-system.sh creates DATA on the target [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.526478923-05:00 ok: install-system.sh creates NO IROOT on the target (one-pass) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.528573807-05:00 ok: install-system.sh has no phase-2 clone handoff [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.530376934-05:00 ok: install-system.sh powers off after install [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.532220370-05:00 ok: install-system.sh does not reboot (poweroff-only handoff) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.534013457-05:00 ok: install-system.sh grub-installs onto the eMMC ESP [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.535819163-05:00 ok: install-system.sh lays grub-system.cfg onto the eMMC ESP [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.537984557-05:00 ok: install-system.sh gives the eMMC ESP a fresh FAT label 'ESP' [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.540091731-05:00 ok: install-system.sh fail-loud asserts the ESP label resolves [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.540127381-05:00 ok: grub-system.cfg present [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.542000547-05:00 ok: grub-system.cfg has the slot-A entry [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.543991392-05:00 ok: grub-system.cfg has no 'installer' entry [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.545882548-05:00 ok: grub-system.cfg has no 'diagnostic' entry [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.547655745-05:00 ok: grub-system.cfg has no 'reinstall' entry [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.549460912-05:00 ok: grub-system.cfg references no installer kernel [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.551303218-05:00 ok: installer rootfs includes grub-efi-amd64-bin (grub-install available) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.553093205-05:00 ok: build-selfinstall-disk.sh bakes grub-system.cfg into /opt/installer [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.555416867-05:00 ok: mender defaults: x86 rootfs A = /dev/mmcblk0p2 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.557282683-05:00 ok: mender defaults: x86 rootfs B = /dev/mmcblk0p3 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.559151449-05:00 ok: mender defaults: no x86 slot on /dev/mmcblk0p4 (DATA) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.559218659-05:00 ok: installer-logship.service present [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.560786277-05:00 ok: logship: 'set -u' (no set -e -> never aborts) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.562629524-05:00 ok: logship unit does not gate installer.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.566149527-05:00 ok: install-system.sh raises install-complete + waits for the ship drain before poweroff (#229) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.567721056-05:00 ok: install-system.sh drain wait is hard-capped (SHIP_DRAIN_CAP_SECS) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.570918632-05:00 ok: installer-logship confirms Loki delivery via promtail metrics -> raises drained (#229) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.572458900-05:00 ok: installer-logship raises terminal on give-up (no full-cap stall) (#229) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.577129786-05:00 ok: build-installer-rootfs wires in tailscale + promtail + logship unit [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.578279107-05:00 ok: build-installer-rootfs sources the shared firmware.list (single-source #66) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.579819275-05:00 ok: firmware.list includes firmware-iwlwifi (Wi-Fi/BT, golden #143 parity) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.581344164-05:00 ok: firmware.list includes firmware-realtek (N150 ethernet -> mesh/Loki) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.583112761-05:00 ok: build-golden asserts firmware blobs under /lib/firmware (fail-loud, edge#103) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.584738579-05:00 ok: edge-golden-smoke asserts firmware blobs under /lib/firmware (runtime gate, edge#103) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.586432826-05:00 ok: edge-golden-smoke resolves symlinked blobs within the mounted rootfs (edge#141) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.588012464-05:00 ok: build-golden resolves the alternatives-managed regulatory.db within the chroot (edge#141) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:42.589925150-05:00 ok: edge-golden-smoke asserts regulatory.db.p7s alongside the reg-db (edge#141) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.130799232-05:00 ok: tests/golden-smoke-regdb-fixtures.sh passes (alternatives-symlink reg-db gate, edge#141) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.132758437-05:00 ok: build-installer-rootfs includes grub2-common (grub-install for eMMC #212) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.134507724-05:00 ok: build-installer-rootfs unmounts chroot binds before tar [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.136302051-05:00 ok: disk build bakes ephemeral mesh-authkey (outside payload/) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.137843769-05:00 ok: no mesh-authkey committed to the repo [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.137889549-05:00 ok: present: firstboot-mesh.sh [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.137903999-05:00 ok: present: firstboot-logship.sh [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.137925859-05:00 ok: present: storeminder-firstboot-mesh.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.137961178-05:00 ok: present: storeminder-firstboot-logship.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.141322943-05:00 ok: firstboot scripts are 'set -u' (never abort boot) (#230) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.143458937-05:00 ok: firstboot-mesh ordered Before cloud-final (mesh up before ansible-pull) (#230) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.146804492-05:00 ok: firstboot-mesh keys off enrollment-or-baked (inert when absent) (#230) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.148754268-05:00 ok: firstboot-mesh bounds 'tailscale up' with --timeout (#135) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:43.164859548-05:00 ok: firstboot-mesh TimeoutStartSec=180 >= budget 130s + 30s margin (#135/#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.492260276-05:00 ok: tests/firstboot-mesh.sh passes (exits 0 on hung 'tailscale up', #135) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.495820759-05:00 ok: firstboot-logship ships stage=firstboot + hands off to Vector (#230) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.502889797-05:00 ok: build-golden bakes tailscale + promtail + both first-boot units (#230) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.506549900-05:00 ok: build-golden bakes the first-boot authkey from env (reuses MESH_INSTALLER_AUTHKEY) (#230) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.508224557-05:00 ok: no firstboot-mesh-authkey committed to the repo [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.532185250-05:00 ok: tests/host-label-rule.sh passes (SM_HOST rule in every vector config, #198) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.737516910-05:00 ok: tests/vector-host-derive.sh passes (derivation ladder + never-fatal, #198) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.738734781-05:00 ok: vector rides image/packages.list (baked pre-converge, #198) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.740399669-05:00 ok: image/overlay/etc/vector/vector.yaml: no current_boot_only key (systemd 252 compatible) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.742548083-05:00 ok: roles/observability/templates/vector.yaml.j2: no current_boot_only key (systemd 252 compatible) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.744323930-05:00 ok: image/overlay/etc/vector/vector.yaml: loki endpoint is a BASE url (no /loki/api/v1/push suffix) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.746418004-05:00 ok: obs_logs_endpoint strips the push path from logs_remote_endpoint (#228) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.746536603-05:00 ok: vector binary not present -- skipping vector validate (grep gates above still enforce #228) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.746630073-05:00 ok: overlay present: storeminder-vector-env.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.748571798-05:00 ok: vector-env unit is Type=oneshot [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.750338135-05:00 ok: vector-env unit sets RemainAfterExit=yes (later Wants= pulls don't re-run it) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.752037333-05:00 ok: vector-env unit invokes the shared vector-host-env.sh (single #198/#241 derivation) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.753708680-05:00 ok: vector-env unit ordered Before=vector.service (env exists for the FIRST start attempt) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.755463877-05:00 ok: vector-env unit ordered After=data.mount (#71/#72 invariant: reads /data identity, preps /data/vector) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.757277764-05:00 ok: vector-env unit installs into multi-user.target [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.757366413-05:00 ok: vector-env enabled via multi-user.target.wants symlink [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.758565864-05:00 ok: vector-host-env.sh parses (POSIX sh) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.762207037-05:00 ok: vector-host-env.sh is 'set -u' never-fatal (#168 contract) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.763956844-05:00 ok: vector drop-in has no ExecStartPre (SM_HOST comes from the #244 oneshot) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.765483893-05:00 ok: vector drop-in keeps EnvironmentFile=-/run/storeminder-vector.env [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.767011212-05:00 ok: vector drop-in sets Restart=on-failure (#244) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.768695939-05:00 ok: vector drop-in relaxes the start limit (StartLimitIntervalSec, #244) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:53.770252388-05:00 ok: roles/observability renders no vector ExecStartPre (converge keeps the #244 shape) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.356548669-05:00 ok: tests/golden-smoke-vector-env-fixtures.sh passes (SM_HOST-oneshot smoke gate, edge#244) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.356672849-05:00 ok: present: firstboot-hostname.sh [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.356679198-05:00 ok: present: storeminder-firstboot-hostname.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.358312126-05:00 ok: firstboot-hostname.sh is 'set -u' (never abort boot) (#168) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.359984764-05:00 ok: firstboot-hostname ordered Before the mesh join (#168) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.361720711-05:00 ok: firstboot-hostname ordered Before cloud-final (#168) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.363358629-05:00 ok: firstboot-hostname needs only local-fs (no network dependency) (#168) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.367067272-05:00 ok: build-golden bakes + enables the early-hostname unit (#168) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.507542372-05:00 ok: tests/firstboot-hostname.sh passes (derivation + never-fatal, #168) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.508773863-05:00 ok: edge-enroll.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.510447891-05:00 ok: edge-enroll.sh is 'set -u' (not set -e) (#165) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.513627797-05:00 ok: edge-enroll stages the enrollment authkey mode-0600 (#165) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:54.515346295-05:00 ok: edge-enroll refuses to clobber a staged single-use key without --force (#165) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.245918261-05:00 ok: tests/edge-enroll.sh passes (token->authkey exchange contract, #165) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.254489058-05:00 ok: firstboot-mesh invokes the enroll client (ENROLL_CLIENT) (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.254512548-05:00 ok: firstboot-mesh hard-caps the enroll exchange (run_capped ENROLL_CAP_SECS) (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.254516558-05:00 ok: enroll exchange runs BEFORE the key pick (enrollment key wins) (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.254519608-05:00 ok: firstboot-mesh logs LOUDLY on break-glass (baked shared key) use (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.255424311-05:00 ok: firstboot-mesh leaves the /data break-glass marker (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.257161248-05:00 ok: build-golden bakes the edge-enroll client onto PATH (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.258103441-05:00 ok: overlay ships edge-enroll (byte-identical to scripts/edge-enroll.sh) (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.260026827-05:00 ok: roles/mesh reasserts the edge-enroll client at converge (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.261711054-05:00 ok: roles/mesh audits break-glass (shared-key) joins in the converge log (#167) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.263995697-05:00 ok: mint-bootstrap.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.265624135-05:00 ok: mint-bootstrap stages secrets under umask 077 / 0600 (#245) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.267314123-05:00 ok: mint-bootstrap enforces the 2h preauthkey TTL floor (#245) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:55.269039180-05:00 ok: mint-bootstrap refuses to clobber staged secrets without --force (#245) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.064599628-05:00 ok: tests/mint-bootstrap.sh passes (flash-time mint+stage contract, #245) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.068299711-05:00 ok: promtail default URL derives from the Nexus raw mirror (not a public release) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.071904134-05:00 ok: promtail.zip is sha256-pinned at build [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098463268-05:00 ok: map covers bootdisk ansible-core [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098483548-05:00 ok: map covers bootdisk bmap-tools [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098488608-05:00 ok: map covers bootdisk ca-certificates [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098492748-05:00 ok: map covers bootdisk chrony [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098497378-05:00 ok: map covers bootdisk cloud-init [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098502388-05:00 ok: map covers bootdisk curl [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098506198-05:00 ok: map covers bootdisk dmidecode [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098510138-05:00 ok: map covers bootdisk firmware-iwlwifi [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098513978-05:00 ok: map covers bootdisk firmware-misc-nonfree [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098517918-05:00 ok: map covers bootdisk firmware-realtek [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098521848-05:00 ok: map covers bootdisk git [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098526088-05:00 ok: map covers bootdisk jq [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098530538-05:00 ok: map covers bootdisk mender-client4 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098542887-05:00 ok: map covers bootdisk mender-flash [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098547787-05:00 ok: map covers bootdisk nftables [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098551967-05:00 ok: map covers bootdisk openssh-server [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098556327-05:00 ok: map covers bootdisk prometheus-node-exporter [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098560577-05:00 ok: map covers bootdisk python3 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098564447-05:00 ok: map covers bootdisk python3-apt [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098568377-05:00 ok: map covers bootdisk rclone [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098572237-05:00 ok: map covers bootdisk smartmontools [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098576087-05:00 ok: map covers bootdisk vault [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098579907-05:00 ok: map covers bootdisk vector [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098583787-05:00 ok: map covers bootdisk wireless-regdb [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098598847-05:00 ok: map covers installer ca-certificates [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098601627-05:00 ok: map covers installer curl [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098604307-05:00 ok: map covers installer firmware-iwlwifi [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098606897-05:00 ok: map covers installer firmware-misc-nonfree [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098609507-05:00 ok: map covers installer firmware-realtek [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098612107-05:00 ok: map covers installer iproute2 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098614677-05:00 ok: map covers installer kmod [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098617227-05:00 ok: map covers installer socat [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098619777-05:00 ok: map covers installer tailscale [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098622357-05:00 ok: map covers installer wireless-regdb [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098624907-05:00 ok: map covers converged chrony [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098627467-05:00 ok: map covers converged containerd.io [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098630007-05:00 ok: map covers converged dmidecode [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098632557-05:00 ok: map covers converged docker-ce [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098635097-05:00 ok: map covers converged docker-ce-cli [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098637627-05:00 ok: map covers converged docker-compose-plugin [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098640257-05:00 ok: map covers converged flashrom [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098643107-05:00 ok: map covers converged fwupd [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098645687-05:00 ok: map covers converged intel-microcode [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098648237-05:00 ok: map covers converged libraspberrypi-bin [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098650787-05:00 ok: map covers converged linux-modules-extra-raspi [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098653687-05:00 ok: map covers converged mender-auth [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098656637-05:00 ok: map covers converged mender-flash [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098659187-05:00 ok: map covers converged mender-update [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098661787-05:00 ok: map covers converged nftables [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098664357-05:00 ok: map covers converged nvme-cli [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098666887-05:00 ok: map covers converged openssh-server [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098669497-05:00 ok: map covers converged prometheus-node-exporter [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098672097-05:00 ok: map covers converged rclone [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098674686-05:00 ok: map covers converged tailscale [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098677256-05:00 ok: map covers converged thermald [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098682056-05:00 ok: map covers converged vault [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098684716-05:00 ok: map covers converged vector [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098687876-05:00 ok: source ok bootdisk cloud-init -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098690626-05:00 ok: source ok bootdisk chrony -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098693246-05:00 ok: source ok bootdisk nftables -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098695846-05:00 ok: source ok bootdisk ca-certificates -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098698396-05:00 ok: source ok bootdisk firmware-iwlwifi -> backports [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098700946-05:00 ok: source ok bootdisk firmware-misc-nonfree -> backports [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098703546-05:00 ok: source ok bootdisk firmware-realtek -> backports [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098706106-05:00 ok: source ok bootdisk wireless-regdb -> backports [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098708696-05:00 ok: source ok bootdisk ansible-core -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098711316-05:00 ok: source ok bootdisk python3 -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098713876-05:00 ok: source ok bootdisk python3-apt -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098716426-05:00 ok: source ok bootdisk git -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098723636-05:00 ok: source ok bootdisk mender-client4 -> mender [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098726346-05:00 ok: source ok bootdisk mender-flash -> mender [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098728946-05:00 ok: source ok bootdisk vault -> hashicorp [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098731506-05:00 ok: source ok bootdisk rclone -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098734126-05:00 ok: source ok bootdisk bmap-tools -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098736706-05:00 ok: source ok bootdisk prometheus-node-exporter -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098739296-05:00 ok: source ok bootdisk openssh-server -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098742406-05:00 ok: source ok bootdisk curl -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098745056-05:00 ok: source ok bootdisk jq -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098747746-05:00 ok: source ok bootdisk dmidecode -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098750346-05:00 ok: source ok bootdisk smartmontools -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098752916-05:00 ok: source ok bootdisk vector -> vector [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098756086-05:00 ok: source ok installer systemd-sysv -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098758686-05:00 ok: source ok installer udev -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098761306-05:00 ok: source ok installer zstd -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098763946-05:00 ok: source ok installer e2fsprogs -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098773056-05:00 ok: source ok installer dosfstools -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098775876-05:00 ok: source ok installer parted -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098778506-05:00 ok: source ok installer util-linux -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098781156-05:00 ok: source ok installer coreutils -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098783956-05:00 ok: source ok installer ca-certificates -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098786726-05:00 ok: source ok installer grub-common -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098789276-05:00 ok: source ok installer grub2-common -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098792336-05:00 ok: source ok installer grub-efi-amd64-bin -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098794926-05:00 ok: source ok installer initramfs-tools -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098797486-05:00 ok: source ok installer linux-image-amd64 -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098800056-05:00 ok: source ok installer curl -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098802766-05:00 ok: source ok installer iproute2 -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098805406-05:00 ok: source ok installer firmware-realtek -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098808275-05:00 ok: source ok installer firmware-iwlwifi -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098810965-05:00 ok: source ok installer firmware-misc-nonfree -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098813885-05:00 ok: source ok installer wireless-regdb -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098816445-05:00 ok: source ok installer tailscale -> tailscale [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098819025-05:00 ok: source ok installer socat -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098822395-05:00 ok: source ok installer kmod -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098825235-05:00 ok: source ok converged mender-auth -> mender [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098827845-05:00 ok: source ok converged mender-update -> mender [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098835905-05:00 ok: source ok converged mender-flash -> mender [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098838865-05:00 ok: source ok converged chrony -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098842045-05:00 ok: source ok converged nftables -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098882085-05:00 ok: source ok converged vault -> hashicorp [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098886585-05:00 ok: source ok converged openssh-server -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098890885-05:00 ok: source ok converged rclone -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098894835-05:00 ok: source ok converged prometheus-node-exporter -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098899115-05:00 ok: source ok converged vector -> vector [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098903075-05:00 ok: source ok converged tailscale -> tailscale [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098907035-05:00 ok: source ok converged docker-ce -> docker [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098910905-05:00 ok: source ok converged docker-ce-cli -> docker [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098920005-05:00 ok: source ok converged containerd.io -> docker [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098924045-05:00 ok: source ok converged docker-compose-plugin -> docker [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098927865-05:00 ok: source ok converged fwupd -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098931715-05:00 ok: source ok converged flashrom -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098935545-05:00 ok: source ok converged dmidecode -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098939354-05:00 ok: source ok converged intel-microcode -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098943214-05:00 ok: source ok converged thermald -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098947034-05:00 ok: source ok converged nvme-cli -> debian-main [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098951304-05:00 ok: firmware parity golden == installer (firmware-iwlwifi, firmware-misc-nonfree, firmware-realtek, wireless-regdb) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098955224-05:00 ok: required present bootdisk firmware-iwlwifi [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098959074-05:00 ok: required present bootdisk firmware-misc-nonfree [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098962954-05:00 ok: required present bootdisk firmware-realtek [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098966834-05:00 ok: required present bootdisk wireless-regdb [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098970694-05:00 ok: required present installer firmware-iwlwifi [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098974544-05:00 ok: required present installer firmware-misc-nonfree [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098978334-05:00 ok: required present installer firmware-realtek [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098982174-05:00 ok: required present installer wireless-regdb [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098986494-05:00 warn: orphan map row: `systemd-sysv installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098990424-05:00 warn: orphan map row: `udev installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098994374-05:00 warn: orphan map row: `zstd installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.098998204-05:00 warn: orphan map row: `e2fsprogs installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099002014-05:00 warn: orphan map row: `dosfstools installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099005824-05:00 warn: orphan map row: `parted installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099009634-05:00 warn: orphan map row: `util-linux installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099019244-05:00 warn: orphan map row: `coreutils installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099032194-05:00 warn: orphan map row: `grub-common installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099036344-05:00 warn: orphan map row: `grub2-common installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099041274-05:00 warn: orphan map row: `grub-efi-amd64-bin installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099045804-05:00 warn: orphan map row: `initramfs-tools installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099050514-05:00 warn: orphan map row: `linux-image-amd64 installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099054614-05:00 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.099058424-05:00 pkg_manifest: reconcile OK (134 checks, 13 warning(s)) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.100991949-05:00 ok: packages.map reconciles with packages.list + roles + installer build [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.101052909-05:00 ok: installer-diaglink.service present [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.103153013-05:00 ok: diaglink: 'set -u' (no set -e -> never aborts) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.106869806-05:00 ok: diaglink gates on the sm.diag kernel cmdline flag (opt-in) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.110840657-05:00 ok: diaglink arms kernel netconsole via configfs [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.114319411-05:00 ok: diaglink forwards the install journal via socat [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.116191537-05:00 ok: diaglink unit does not gate installer.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.121446208-05:00 ok: build-installer-rootfs wires in socat + kmod + netconsole autoload + diaglink unit [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.123203815-05:00 ok: grub.cfg has the opt-in installer-diag menuentry [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.127173336-05:00 ok: default installer entry does not set sm.diag (production install unchanged) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.127200186-05:00 ok: waveshare receiver present: sm-diag-receiver.py [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.127216196-05:00 ok: waveshare receiver present: README.md [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.127232035-05:00 ok: waveshare receiver present: sm-diag-receiver.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.206427640-05:00 ok: sm-diag-receiver.py compiles [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.208815703-05:00 ok: build-golden leaves $M/var/lib/mender untouched (clear for mender-convert's symlink, #152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.212104478-05:00 ok: install-system.sh seeds /data/mender/device_type after formatting /data (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.212184278-05:00 ok: present: firstboot-devicetype.sh [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.212198918-05:00 ok: present: storeminder-firstboot-devicetype.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.213913375-05:00 ok: firstboot-devicetype.sh is 'set -u' (never abort boot) (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.215723422-05:00 ok: firstboot-devicetype ordered Before=mender-updated (marker before first poll) (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.217191111-05:00 ok: firstboot-devicetype needs only local-fs (/data mount, no network) (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.220434827-05:00 ok: build-golden bakes firstboot-devicetype.sh + unit (fallback in the golden, #152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.221456039-05:00 ok: overlay bakes firstboot-devicetype.sh (byte-identical to the provisioner copy) (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.222328223-05:00 ok: overlay bakes storeminder-firstboot-devicetype.service (byte-identical) (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.222357143-05:00 ok: overlay enables storeminder-firstboot-devicetype.service (multi-user.target.wants symlink) (#152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.224029390-05:00 ok: edge-golden-smoke gates the device_type plumbing (rootfs symlink layout + fallback, #152) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.225622468-05:00 ok: group_vars/all declares vault_ready (#176) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.227436085-05:00 ok: site.yml references vault_ready (Vault-hard roles gated, #176) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.228840065-05:00 ok: no vault.storeminder.example placeholder in group_vars/ or provisioner/payload/ [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.232729386-05:00 ok: keys/fleet-bootstrap-ops.pub is exactly one well-formed ed25519 PUBLIC key (#178) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.235940702-05:00 ok: build-golden bakes the COMMITTED .pub -> $M/etc/ssh/authorized_keys.d/edge-ops (#178) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.237106813-05:00 ok: build-golden bakes the sshd AuthorizedKeysFile drop-in (user path first, #170-safe) (#178) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.239885143-05:00 ok: group_vars/all defaults base_ops_authorized_keys from the SAME committed .pub (converge == bake) (#178) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.241428562-05:00 ok: edge-golden-smoke gates the baked bootstrap key (runtime gate, #178) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.242512984-05:00 ok: firstboot-sshkey.sh parses (POSIX sh) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.245641921-05:00 ok: firstboot-sshkey.sh is 'set -u' never-fatal (#168 contract) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.247230799-05:00 ok: firstboot-sshkey.sh guards on /data being a real mountpoint [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.248831547-05:00 ok: firstboot-sshkey.sh generates an ed25519 key on-device [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.248874067-05:00 ok: overlay present: storeminder-firstboot-sshkey.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.250071068-05:00 ok: firstboot-sshkey ordered Before=ssh.service (key exists when sshd's condition is evaluated) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.251090820-05:00 ok: firstboot-sshkey ordered After=data.mount (#71/#72 invariant) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.251106870-05:00 ok: firstboot-sshkey enabled via multi-user.target.wants [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.252289561-05:00 ok: bootstrap HostKey drop-in points sshd at the /data key (pre-converge window open) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.256071673-05:00 ok: build-golden bakes firstboot-sshkey + bootstrap HostKey drop-in from the overlay sources (#184) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.260606270-05:00 ok: ssh.service keeps After=data.mount + OR-form ConditionPathExists over /data + bootstrap keys (#107/edge#221) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.263822506-05:00 ok: roles/ssh_ca retires the bootstrap HostKey drop-in at converge (single HostKey source) (#184) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.272934629-05:00 ok: 16-...-hostkey.conf lists per-device /data key FIRST, bootstrap fallback second (edge#221) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.274103490-05:00 ok: no committed OpenSSH private key material (edge#221 key stays in Vault) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.277314856-05:00 ok: build-golden bakes the bootstrap host key from EDGE_BOOTSTRAP_HOSTKEY_PRIV (never a committed file) (edge#221) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.278977964-05:00 ok: roles/ssh_ca removes the baked shared bootstrap key at converge (edge#221) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.282250860-05:00 ok: edge-golden-smoke gates the baked bootstrap key + names the sunset issue (edge#221/#222) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.283291372-05:00 ok: firstboot-user.sh parses (POSIX sh) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.286592578-05:00 ok: firstboot-user.sh is 'set -u' never-fatal (#168 contract) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.288145636-05:00 ok: firstboot-user.sh creates the operator user (-m -s /bin/bash -G sudo) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.289741505-05:00 ok: firstboot-user.sh locks the password (no password auth, ever) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.291152834-05:00 ok: firstboot-user.sh installs the NOPASSWD sudoers drop-in [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.292737552-05:00 ok: firstboot-user.sh visudo-validates the drop-in BEFORE install (bad sudoers bricks sudo) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.292782332-05:00 ok: overlay present: storeminder-firstboot-user.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.294850777-05:00 ok: firstboot-user ordered Before=ssh.service (user exists for the first login attempt) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.296032068-05:00 ok: firstboot-user needs only local-fs (no network dependency) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.296057728-05:00 ok: firstboot-user enabled via multi-user.target.wants [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.297579547-05:00 ok: user-data.tmpl keeps the users: block (harmless double-set where cloud-init runs) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.298540500-05:00 ok: user-data.tmpl documents the users: block as dead on installed boxes (#229) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.427548266-05:00 ok: tests/firstboot-user.sh passes (operator-user contract, #229) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.429175204-05:00 ok: site.yml includes tasks/targeting-groups.yml (site_*/role_* mapping, #247) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.429204774-05:00 ok: tasks/targeting-groups.yml present [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.430783682-05:00 ok: group_vars/all defines site_marker_path (hermetic-testable lookups, #247) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.430823932-05:00 ok: group_vars/site_lab demo override committed (living proof of the convention, #247) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.430848802-05:00 ok: tests/site-role-groups.sh present (behaviour gate runs in edge-selftest-lint, #247) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.433487422-05:00 ok: requirements.yml collection versions are exact pins (#182) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.435954774-05:00 ok: requirements.lock entries are well-formed (name + exact version + sha256) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.442880503-05:00 ok: requirements.yml and requirements.lock agree 1:1 (6 collections) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.449513014-05:00 ok: build-golden vendors requirements.lock collections into the rootfs (#182) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.451016523-05:00 ok: build-golden sha256-verifies fetched collection tarballs (#182) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.452884539-05:00 ok: build-golden never points 'ansible-galaxy install -r' at the proxy (#156) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.454723565-05:00 ok: ansible.cfg collections_paths includes /usr/share/ansible/collections (#182) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.458003941-05:00 ok: edge-golden-smoke gates the vendored collections against requirements.lock (#182) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.458063101-05:00 ok: present: mesh-rejoin.sh [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.458084411-05:00 ok: present: storeminder-mesh-rejoin.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.458105040-05:00 ok: present: storeminder-mesh-rejoin.timer [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.459279312-05:00 ok: mesh-rejoin.sh parses [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.460782951-05:00 ok: mesh-rejoin.sh is 'set -u' (never fatal) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.462357619-05:00 ok: mesh-rejoin bounds 'tailscale up' with --timeout (#135) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.465722704-05:00 ok: mesh-rejoin re-enrolls via the baked enroll client (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.467145384-05:00 ok: mesh-rejoin re-mints with edge-enroll --force (stale single-use key) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.468751462-05:00 ok: mesh-rejoin logs LOUDLY on break-glass use (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.470615428-05:00 ok: mesh-rejoin leaves the /data break-glass marker (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.472242736-05:00 ok: mesh-rejoin skips while firstboot-mesh is mid-join (no churn) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.487081306-05:00 ok: mesh-rejoin TimeoutStartSec=240 >= budget 160s + 30s margin (#135/#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.488865413-05:00 ok: mesh-rejoin service is timer-activated only (no WantedBy) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.491422314-05:00 ok: mesh-rejoin.timer sets OnUnitActiveSec + WantedBy=timers.target (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.492648995-05:00 ok: mesh-rejoin.timer spreads the fleet (RandomizedDelaySec) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.494281403-05:00 ok: mesh-rejoin service orders after /data (RequiresMountsFor) (#83/#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.497818637-05:00 ok: build-golden bakes mesh-rejoin.sh + enables the timer (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.498967139-05:00 ok: overlay ships mesh-rejoin.sh (byte-identical to the x86 baked copy) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.499906092-05:00 ok: overlay ships storeminder-mesh-rejoin.service (byte-identical to the x86 baked copy) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.500802865-05:00 ok: overlay ships storeminder-mesh-rejoin.timer (byte-identical to the x86 baked copy) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.500819835-05:00 ok: overlay enables storeminder-mesh-rejoin.timer (timers.target.wants symlink) (#166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:15:56.502815280-05:00 ok: edge-golden-smoke gates the baked mesh re-join (runtime gate, #166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.801278681-05:00 ok: tests/mesh-rejoin.sh passes (self-heal re-join contract, #166) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.807277847-05:00 ok: build-golden bakes the selftest v2 wrapper + repo snapshot (#191) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.809391921-05:00 ok: build-golden fail-louds on an incomplete selftest snapshot (#191) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.813264533-05:00 ok: edge-golden-smoke gates the baked selftest wrapper + snapshot (#200) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.814503864-05:00 ok: journald drop-in bakes Storage=persistent (storeminder#225) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.815836954-05:00 ok: journald drop-in bakes SystemMaxUse cap (edge#89) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.817101035-05:00 ok: journald drop-in bakes MaxFileSec rotation (edge#89) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.819200329-05:00 ok: edge-golden-smoke checks ownership NUMERICALLY (stat %u/%g, never name resolution) (edge#227) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:02.821309054-05:00 ok: edge-golden-smoke sweeps the rootfs for uid/gid >= 1000 owners (edge#227) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.613321464-05:00 ok: tests/golden-smoke-ownership-fixtures.sh passes (uid-10001 bake-class ownership gate, edge#227) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.615313759-05:00 ok: overlay symlink: /etc/storeminder/site -> /data/identity/site (#243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.617040466-05:00 ok: overlay symlink: /etc/storeminder/role -> /data/identity/role (#243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.618225577-05:00 ok: firstboot-siterole.sh parses (POSIX sh) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.621708572-05:00 ok: firstboot-siterole.sh is 'set -u' never-fatal (#168 contract) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.623336890-05:00 ok: firstboot-siterole.sh reads the payload device-batch.json contract [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.625208116-05:00 ok: firstboot-siterole.sh guards the /data mountpoint (rootfs-shadow hazard) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.625252836-05:00 ok: overlay present: storeminder-firstboot-siterole.service [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.626449997-05:00 ok: firstboot-siterole needs only local-fs (no network dependency) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.627891596-05:00 ok: firstboot-siterole ordered Before=storeminder-vector-env.service (SM_SITE sees the marker on first boot) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.627929826-05:00 ok: firstboot-siterole enabled via multi-user.target.wants [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.629560924-05:00 ok: install-system.sh seeds /data/identity/{site,role} from the payload (#243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.631974336-05:00 ok: vector-host-env.sh derives SM_SITE beside SM_HOST (#243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.633970901-05:00 ok: baked vector.yaml stamps the site label via ${SM_SITE} (#243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.635744068-05:00 ok: edge-golden-smoke gates the baked site/role marker wiring (#243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.771588879-05:00 ok: tests/firstboot-siterole.sh passes (site/role marker contract, #243) [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.771700618-05:00 [pod/edge-pr-validate-pr278-dvg9t-lint-pod/step-lint] 2026-07-08T10:16:03.771719778-05:00 edge-image-lint: all invariants hold [pod/edge-pr-validate-pr278-dvg9t-lint-pod/prepare] 2026-07-08T10:15:27.729998512-05:00 2026/07/08 15:15:27 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-lint-pod/place-scripts] 2026-07-08T10:15:28.594156330-05:00 2026/07/08 15:15:28 Decoded script /tekton/scripts/script-0-t9pnp ===== edge-pr-validate-pr278-dvg9t-post-check-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-post-check-pod/prepare] 2026-07-08T10:16:22.595521521-05:00 2026/07/08 15:16:22 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-post-check-pod/place-scripts] 2026-07-08T10:16:23.405893160-05:00 2026/07/08 15:16:23 Decoded script /tekton/scripts/script-0-d8gss [pod/edge-pr-validate-pr278-dvg9t-post-check-pod/step-post-check] 2026-07-08T10:16:27.719940975-05:00 Installing PyJWT + cryptography + requests… ===== edge-pr-validate-pr278-dvg9t-post-check-resolve-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-post-check-resolve-pod/place-scripts] 2026-07-08T10:16:27.182104152-05:00 2026/07/08 15:16:27 Decoded script /tekton/scripts/script-0-d7srp [pod/edge-pr-validate-pr278-dvg9t-post-check-resolve-pod/step-post-check] 2026-07-08T10:16:29.806986419-05:00 Installing PyJWT + cryptography + requests… [pod/edge-pr-validate-pr278-dvg9t-post-check-resolve-pod/prepare] 2026-07-08T10:16:26.036886023-05:00 2026/07/08 15:16:26 Entrypoint initialization ===== edge-pr-validate-pr278-dvg9t-post-check-selftest-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-post-check-selftest-pod/prepare] 2026-07-08T10:16:26.100610700-05:00 2026/07/08 15:16:26 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-post-check-selftest-pod/place-scripts] 2026-07-08T10:16:27.161784449-05:00 2026/07/08 15:16:27 Decoded script /tekton/scripts/script-0-275b8 [pod/edge-pr-validate-pr278-dvg9t-post-check-selftest-pod/step-post-check] 2026-07-08T10:16:29.874735257-05:00 Installing PyJWT + cryptography + requests… ===== edge-pr-validate-pr278-dvg9t-post-status-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:25.550979595-05:00 Posting commit status to GitHub [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:25.551013075-05:00 Repo: storeminder-ai/storeminder-edge [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:25.551017735-05:00 SHA: 56529cfb5f908dc7f159f415607ef0a62283e8be [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:25.551021095-05:00 State: success (Succeeded) [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:25.551023875-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder-edge/pr-278/edge-pr-validate-pr278-dvg9t/logs.txt [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006440504-05:00 { [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006644283-05:00 "url": "https://api.github.com/repos/storeminder-ai/storeminder-edge/statuses/56529cfb5f908dc7f159f415607ef0a62283e8be", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006652393-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006658042-05:00 "id": 50153072655, [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006662562-05:00 "node_id": "SC_kwDOS9o32s8AAAALrVsoDw", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006666752-05:00 "state": "success", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006670752-05:00 "description": "Checks passed", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006674762-05:00 "target_url": "https://ci-logs.storeminder.ai/storeminder-ai/storeminder-edge/pr-278/edge-pr-validate-pr278-dvg9t/logs.txt", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006678952-05:00 "context": "tekton/edge-image-lint", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006682882-05:00 "created_at": "2026-07-08T15:16:25Z", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006686782-05:00 "updated_at": "2026-07-08T15:16:25Z", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006690752-05:00 "creator": { [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006695212-05:00 "login": "steveblackmon", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006699162-05:00 "id": 702924, [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006703082-05:00 "node_id": "MDQ6VXNlcjcwMjkyNA==", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006707102-05:00 "avatar_url": "https://avatars.githubusercontent.com/u/702924?v=4", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006711112-05:00 "gravatar_id": "", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006715972-05:00 "url": "https://api.github.com/users/steveblackmon", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006719972-05:00 "html_url": "https://github.com/steveblackmon", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006723902-05:00 "followers_url": "https://api.github.com/users/steveblackmon/followers", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006728412-05:00 "following_url": "https://api.github.com/users/steveblackmon/following{/other_user}", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006732362-05:00 "gists_url": "https://api.github.com/users/steveblackmon/gists{/gist_id}", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006736342-05:00 "starred_url": "https://api.github.com/users/steveblackmon/starred{/owner}{/repo}", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006740242-05:00 "subscriptions_url": "https://api.github.com/users/steveblackmon/subscriptions", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006744192-05:00 "organizations_url": "https://api.github.com/users/steveblackmon/orgs", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006748072-05:00 "repos_url": "https://api.github.com/users/steveblackmon/repos", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006751962-05:00 "events_url": "https://api.github.com/users/steveblackmon/events{/privacy}", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006755912-05:00 "received_events_url": "https://api.github.com/users/steveblackmon/received_events", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006759852-05:00 "type": "User", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006763802-05:00 "user_view_type": "public", [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006767772-05:00 "site_admin": false [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006771702-05:00 } [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.006775682-05:00 } [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.010029498-05:00 [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/step-post-status] 2026-07-08T10:16:26.010122597-05:00 Status posted successfully [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/prepare] 2026-07-08T10:16:21.785062464-05:00 2026/07/08 15:16:21 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-post-status-pod/place-scripts] 2026-07-08T10:16:22.304545360-05:00 2026/07/08 15:16:22 Decoded script /tekton/scripts/script-0-7h68l ===== edge-pr-validate-pr278-dvg9t-post-status-resolve-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-post-status-resolve-pod/prepare] 2026-07-08T10:16:25.489716761-05:00 2026/07/08 15:16:25 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-post-status-resolve-pod/place-scripts] 2026-07-08T10:16:26.988562597-05:00 2026/07/08 15:16:26 Decoded script /tekton/scripts/script-0-jk6q9 ===== edge-pr-validate-pr278-dvg9t-post-status-selftest-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/prepare] 2026-07-08T10:16:26.095493537-05:00 2026/07/08 15:16:26 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/place-scripts] 2026-07-08T10:16:27.176671401-05:00 2026/07/08 15:16:27 Decoded script /tekton/scripts/script-0-m2ghd [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/step-post-status] 2026-07-08T10:16:30.166903568-05:00 Posting commit status to GitHub [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/step-post-status] 2026-07-08T10:16:30.166949548-05:00 Repo: storeminder-ai/storeminder-edge [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/step-post-status] 2026-07-08T10:16:30.166954088-05:00 SHA: 56529cfb5f908dc7f159f415607ef0a62283e8be [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/step-post-status] 2026-07-08T10:16:30.166957218-05:00 State: success (Succeeded) [pod/edge-pr-validate-pr278-dvg9t-post-status-selftest-pod/step-post-status] 2026-07-08T10:16:30.166960248-05:00 Target URL: https://ci-logs.storeminder.ai/storeminder-ai/storeminder-edge/pr-278/edge-pr-validate-pr278-dvg9t/logs.txt ===== edge-pr-validate-pr278-dvg9t-reclaim-workspace-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-reclaim-workspace-pod/prepare] 2026-07-08T10:16:26.100655829-05:00 2026/07/08 15:16:26 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-reclaim-workspace-pod/place-scripts] 2026-07-08T10:16:27.182824376-05:00 2026/07/08 15:16:27 Decoded script /tekton/scripts/script-0-v9kfk [pod/edge-pr-validate-pr278-dvg9t-reclaim-workspace-pod/step-delete-run-pvcs] 2026-07-08T10:16:30.339087860-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=edge-pr-validate-pr278-dvg9t in ns=tekton-pipelines ===== edge-pr-validate-pr278-dvg9t-resolve-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/prepare] 2026-07-08T10:15:27.997606941-05:00 2026/07/08 15:15:27 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/place-scripts] 2026-07-08T10:15:28.598312489-05:00 2026/07/08 15:15:28 Decoded script /tekton/scripts/script-0-fctbw [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:33.784247751-05:00 note: resolving surface: bootdisk [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:38.165206112-05:00 ok: bootdisk: closure resolves -- 194 packages [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:38.168251569-05:00 ok: bootdisk: firmware-* resolves from bookworm-backports (pin bites) [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:38.172403298-05:00 ok: bootdisk: closure matches committed snapshot [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:38.173512930-05:00 note: resolving surface: installer [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:41.230538030-05:00 ok: installer: closure resolves -- 138 packages [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:41.234121613-05:00 ok: installer: closure matches committed snapshot [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:41.235066136-05:00 note: resolving surface: converged [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.370267026-05:00 ok: converged: closure resolves -- 212 packages [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.372420950-05:00 FAIL: converged: mender-client4 not in the install plan -- the converged surface must install the 5.x mender-client4 (a bare 'mender-client' is the legacy 3.5.3 line and would downgrade the baked client) [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.376918737-05:00 FAIL: converged: closure DRIFTED from image/expected/converged.closure (review + regenerate with --update if intended) [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378317996-05:00 --- /dev/fd/63 2026-07-08 15:15:45.373682856 +0000 [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378332486-05:00 +++ /tmp/tmp.uLElBmBVIO 2026-07-08 15:15:45.373682856 +0000 [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378337126-05:00 @@ -175,10 +175,7 @@ [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378340586-05:00 libzstd1 [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378343876-05:00 lsb-base [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378348396-05:00 mender-auth [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378351556-05:00 -mender-client4 [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378354696-05:00 mender-flash [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378360046-05:00 -mender-setup [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378363246-05:00 -mender-snapshot [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378366376-05:00 mender-update [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378369566-05:00 netbase [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.378372816-05:00 nftables [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.379753226-05:00 [pod/edge-pr-validate-pr278-dvg9t-resolve-pod/step-resolve] 2026-07-08T10:15:45.379772506-05:00 edge-pkg-resolve: FAILED ===== edge-pr-validate-pr278-dvg9t-selftest-validate-pod.log ===== [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/prepare] 2026-07-08T10:15:29.150509802-05:00 2026/07/08 15:15:29 Entrypoint initialization [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/place-scripts] 2026-07-08T10:15:29.690582959-05:00 2026/07/08 15:15:29 Decoded script /tekton/scripts/script-0-22vmr [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:43.823121757-05:00 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning. [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.109969264-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.109989214-05:00 == scripts on PATH + executable == [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.111838531-05:00 ok: scripts/edge-selftest.sh: has shebang [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.113688417-05:00 warn: scripts/edge-selftest.sh: not tracked by git but +x on disk [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.116819434-05:00 ok: scripts/edge-selftest.sh: bash -n clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.764514528-05:00 ok: scripts/edge-selftest.sh: shellcheck clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.769990248-05:00 ok: scripts/edge-selftest.sh: runs (--help exit 0) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.771294798-05:00 ok: scripts/edge-selftest: has shebang [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.772842677-05:00 warn: scripts/edge-selftest: not tracked by git but +x on disk [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.775063880-05:00 ok: scripts/edge-selftest: bash -n clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.879322347-05:00 ok: scripts/edge-selftest: shellcheck clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.883581385-05:00 ok: scripts/edge-selftest: runs (--help exit 0) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.885928008-05:00 ok: roles/selftest installs to a PATH dir: /usr/local/sbin/edge-selftest [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.887290097-05:00 ok: roles/selftest copies the script to {{ selftest_bin }} [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.887309997-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.887315427-05:00 == console login hooks (profile.d) == [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.889695810-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: bash -n clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.932897359-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: shellcheck clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.934739065-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: no bare exit (comments excluded) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.936062206-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: guards non-interactive shells ($-) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.938250559-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: bash -n clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.980866093-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: shellcheck clean [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.982349372-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: no bare exit (comments excluded) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.983247595-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: guards non-interactive shells ($-) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.984365817-05:00 ok: banner: EDGE_SELFTEST_NOLOGIN opt-out present [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.985650768-05:00 ok: banner: disable-file opt-out present [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.986823219-05:00 ok: recorder: EDGE_CONSOLE_NORECORD opt-out present [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.987768522-05:00 ok: recorder: disable-file opt-out present [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.989855076-05:00 ok: EDGE_CONSOLE_RECORDING marker shared by recorder + banner [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.989893296-05:00 ok: serial console autologin overlay present (image/overlay/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:49.993939786-05:00 ok: banner report dir matches role selftest_report_dir (/var/log/edge-selftest) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:15:50.006438983-05:00 ok: tests/selftest-login.sh passes [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:14.147829092-05:00 ok: tests/selftest-report-contract.sh passes [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:14.353310459-05:00 ok: tests/selftest-login-pty.sh passes [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:14.519674972-05:00 ok: tests/selftest-wrapper.sh passes [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:14.618760087-05:00 ok: tests/console-record.sh passes [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:14.996821672-05:00 ok: tests/selftest-firmware-fixtures.sh passes [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:14.998356811-05:00 ok: image/overlay/usr/local/sbin/edge-selftest matches scripts/edge-selftest (v2 wrapper) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.000270377-05:00 warn: image/overlay/usr/local/sbin/edge-selftest: no git metadata (CI workspace) but +x on disk [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.000290857-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.000301047-05:00 == ansible packaged + works locally == [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.001671106-05:00 ok: image/packages.list declares ansible-core (baked into the golden) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.003042497-05:00 ok: image/packages.list declares python3 (baked into the golden) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.004465036-05:00 ok: image/packages.list declares git (baked into the golden) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.385715439-05:00 ok: ansible present: ansible [core 2.21.1] [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.817103265-05:00 ok: ansible executes a module over the local connection [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.817132935-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.817138855-05:00 == playbooks: valid YAML + valid playbook syntax == [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.848846173-05:00 ok: YAML parses: selftest.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.880713500-05:00 ok: YAML parses: roles/selftest/tasks/main.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.915804574-05:00 ok: YAML parses: roles/selftest/tasks/detect.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.952208827-05:00 ok: YAML parses: roles/selftest/tasks/native.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:15.988559732-05:00 ok: YAML parses: roles/selftest/defaults/main.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.027331768-05:00 ok: YAML parses: roles/selftest/tasks/tiers/boot.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.063370355-05:00 ok: YAML parses: roles/selftest/tasks/tiers/net.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.103261844-05:00 ok: YAML parses: roles/selftest/tasks/tiers/firmware.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.137221505-05:00 ok: YAML parses: roles/selftest/tasks/tiers/dns.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.180924726-05:00 ok: YAML parses: roles/selftest/tasks/tiers/mesh.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.231278708-05:00 ok: YAML parses: roles/selftest/tasks/tiers/converge.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.506770355-05:00 warn: yamllint findings (non-fatal): [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.508466693-05:00 roles/selftest/tasks/tiers/boot.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.508476273-05:00 89:5 error duplication of key "boot_failed_list" in mapping (key-duplicates) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.508481663-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.973789953-05:00 ok: ansible-playbook --syntax-check OK: selftest.yml [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.973899062-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:16.973906542-05:00 == site/role targeting groups (#247) == [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:19.099196546-05:00 ok: tests/site-role-groups.sh passes (subset-targeting contract, #247) [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:19.099322085-05:00 [pod/edge-pr-validate-pr278-dvg9t-selftest-validate-pod/step-selftest-validate] 2026-07-08T10:16:19.099329135-05:00 edge-selftest-lint: all checks passed