[pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:06.839962676-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:06.840010046-05:00 == scripts on PATH + executable == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:06.845743125-05:00 ok: scripts/edge-selftest.sh: has shebang [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:06.847838138-05:00 warn: scripts/edge-selftest.sh: not tracked by git but +x on disk [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:06.851707714-05:00 ok: scripts/edge-selftest.sh: bash -n clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.742561602-05:00 ok: scripts/edge-selftest.sh: shellcheck clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.748997669-05:00 ok: scripts/edge-selftest.sh: runs (--help exit 0) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.750348675-05:00 ok: scripts/edge-selftest: has shebang [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.752140368-05:00 warn: scripts/edge-selftest: not tracked by git but +x on disk [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.754471380-05:00 ok: scripts/edge-selftest: bash -n clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.855525990-05:00 ok: scripts/edge-selftest: shellcheck clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.859849695-05:00 ok: scripts/edge-selftest: runs (--help exit 0) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.861913227-05:00 ok: roles/selftest installs to a PATH dir: /usr/local/sbin/edge-selftest [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.863333392-05:00 ok: roles/selftest copies the script to {{ selftest_bin }} [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.863365742-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.863387232-05:00 == console login hooks (profile.d) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.865688554-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: bash -n clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.891171953-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: shellcheck clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.892629408-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: no bare exit (comments excluded) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.893789194-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: guards non-interactive shells ($-) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.895978626-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: bash -n clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.931331530-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: shellcheck clean [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.932893975-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: no bare exit (comments excluded) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.934038121-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: guards non-interactive shells ($-) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.935288806-05:00 ok: banner: EDGE_SELFTEST_NOLOGIN opt-out present [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.936295313-05:00 ok: banner: disable-file opt-out present [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.937562168-05:00 ok: recorder: EDGE_CONSOLE_NORECORD opt-out present [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.938631244-05:00 ok: recorder: disable-file opt-out present [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.940745737-05:00 ok: EDGE_CONSOLE_RECORDING marker shared by recorder + banner [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.940827786-05:00 ok: serial console autologin overlay present (image/overlay/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.945047551-05:00 ok: banner report dir matches role selftest_report_dir (/var/log/edge-selftest) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:07.960364487-05:00 ok: tests/selftest-login.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:34.701408696-05:00 ok: tests/selftest-report-contract.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:34.908288243-05:00 ok: tests/selftest-login-pty.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:35.067812198-05:00 ok: tests/selftest-wrapper.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:35.217476288-05:00 ok: tests/console-record.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:35.566665721-05:00 ok: tests/selftest-firmware-fixtures.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:37.211820614-05:00 ok: tests/selftest-firmware-e2big.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:57.130756600-05:00 ok: tests/selftest-converge-defer.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.628554355-05:00 ok: tests/selftest-verify-keys-exist.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.731318192-05:00 ok: tests/vault-agent-template-render.sh passes [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.732374849-05:00 ok: image/overlay/usr/local/sbin/edge-selftest matches scripts/edge-selftest (v2 wrapper) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.733994523-05:00 warn: image/overlay/usr/local/sbin/edge-selftest: no git metadata (CI workspace) but +x on disk [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.734011713-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.734030203-05:00 == ansible packaged + works locally == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.735096069-05:00 ok: image/packages.list declares ansible-core (baked into the golden) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.736031846-05:00 ok: image/packages.list declares python3 (baked into the golden) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:42:59.736928912-05:00 ok: image/packages.list declares git (baked into the golden) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.075030049-05:00 ok: ansible present: ansible [core 2.21.2] [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.535215546-05:00 ok: ansible executes a module over the local connection [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.535246216-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.535251486-05:00 == playbooks: valid YAML + valid playbook syntax == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.566341836-05:00 ok: YAML parses: selftest.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.600999254-05:00 ok: YAML parses: selftest-release-gate.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.635262383-05:00 ok: YAML parses: roles/selftest/tasks/main.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.667490259-05:00 ok: YAML parses: roles/selftest/tasks/detect.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.705569875-05:00 ok: YAML parses: roles/selftest/tasks/native.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.761594307-05:00 ok: YAML parses: roles/selftest/defaults/main.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.807840844-05:00 ok: YAML parses: roles/selftest/tasks/tiers/boot.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.841827374-05:00 ok: YAML parses: roles/selftest/tasks/tiers/net.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.881562434-05:00 ok: YAML parses: roles/selftest/tasks/tiers/firmware.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.927289403-05:00 ok: YAML parses: roles/selftest/tasks/tiers/dns.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:00.982629338-05:00 ok: YAML parses: roles/selftest/tasks/tiers/mesh.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.038362691-05:00 ok: YAML parses: roles/selftest/tasks/tiers/converge.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.081694318-05:00 ok: YAML parses: roles/selftest/tasks/tiers/metrics.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.124333248-05:00 ok: YAML parses: roles/selftest/tasks/tiers/logs.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.551516261-05:00 warn: yamllint findings (non-fatal): [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.553215915-05:00 roles/selftest/tasks/tiers/boot.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.553239035-05:00 364:31 error trailing spaces (trailing-spaces) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:01.553244765-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:02.022790748-05:00 ok: ansible-playbook --syntax-check OK: selftest.yml [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:02.022822058-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:02.022844398-05:00 == site/role targeting groups (#247) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.822776670-05:00 ok: tests/site-role-groups.sh passes (subset-targeting contract, #247) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.822876500-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.822881350-05:00 == pki first-boot cert dirs (#334) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.888411659-05:00 ok: tests/pki-firstboot-cert-dirs.sh passes (bare-box cert-render contract, #334) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.888426339-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.888431349-05:00 == pki AppRole steady-state auth switch (#387) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.987921548-05:00 ok: tests/pki-approle-switch.sh passes (approle steady-state, cert retired, #387) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.987942618-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:03.987949038-05:00 == selftest boot tier: masked-unit gating (#399) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:05.210691927-05:00 ok: tests/selftest-boot-masked-units.sh passes (masked units excluded from failed_units, #399) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:05.210722596-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:05.210728036-05:00 == A/B slot completeness markers (edge#520/#484) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:06.084485006-05:00 ok: tests/slot-marker-completeness.sh passes (rollback completeness-marker contract, edge#520/#484) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:06.084587086-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:06.084591586-05:00 == synchronous first-boot converge (#356) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.226280636-05:00 ok: tests/firstboot-converge.sh passes (sync converge before readiness, #356) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.226309756-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.226315956-05:00 == active-firmware prompt (#361) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.252559674-05:00 ok: tests/firmware-prompt.sh passes (prompt reflects active firmware, #361) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.252653263-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.252663903-05:00 == per-container metrics collector (#395) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.328872765-05:00 ok: tests/container-metrics.sh passes (per-container metrics contract, #395) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.328991234-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:12.329000234-05:00 == config dispatcher: KNOWLEDGE k/v -> service configs (edge#458, retire-converge #449) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:15.746649101-05:00 ok: storeminder-config provisioned from Nexus PyPI (storeminder-config==0.1.6) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:17.636871839-05:00 ok: tests/config-dispatcher.sh passes (#884 shape, cron->OnCalendar, sts creds, forward-skew, validation gate, Mender exit-code contract) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:19.685132082-05:00 ok: tests/selftest-gate.sh passes (post-apply health gate: ordering, rollback teeth, timeout bound, skip semantics; edge#457) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:19.685165502-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:19.685172342-05:00 == manifest-driven S3 uploader units (edge#451, retire-converge #449) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:19.900161476-05:00 ok: tests/s3-uploader.sh passes (unit wiring, seam agreement, skip ladder, rclone flow, converge yield) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:19.900184165-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:19.900189065-05:00 == collector config seam (edge#478, retire-converge #449) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:20.920856845-05:00 ok: tests/collector-config.sh passes (config round-trip, skip-when-absent, oneshot no-reload, no-secret-in-world-readable-sink) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:20.920881885-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:20.920888525-05:00 == selftest logs round-trip tier (edge#394) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:36.099276273-05:00 ok: tests/selftest-logs-roundtrip.sh passes (emit->ship->index->confirm contract, edge#394) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:36.099291223-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:43:36.099296363-05:00 == selftest release gate (edge#504) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:44:21.038836642-05:00 ok: tests/selftest-release-gate.sh passes (round-trip escalation is a release blocker, edge#504) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:44:21.038961381-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:44:21.038969271-05:00 == hermetic obs round-trip fixture (edge#506) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.422261684-05:00 ok: tests/selftest-obs-fixture.sh passes (obs fixture + shape helpers + round-trip wiring, edge#506) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.422293074-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.422298494-05:00 == setup narrative + failure signatures (edge#421) == [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.477794465-05:00 ok: tests/setup-log.sh passes (narrative primitive contract, edge#421) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.668488075-05:00 ok: tests/setup-diagnose.sh passes (failure-signature catalogue, edge#421) [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.668509645-05:00 [pod/edge-main-validate-j468q-selftest-validate-pod/step-selftest-validate] 2026-08-07T14:45:02.668514905-05:00 edge-selftest-lint: all checks passed [pod/edge-main-validate-j468q-selftest-validate-pod/prepare] 2026-08-07T14:42:02.129142776-05:00 2026/08/07 19:42:02 Entrypoint initialization [pod/edge-main-validate-j468q-selftest-validate-pod/place-scripts] 2026-08-07T14:42:02.608586288-05:00 2026/08/07 19:42:02 Decoded script /tekton/scripts/script-0-hsbq5