test(e2e): deterministic config.yaml fetch + provisioning vs missing-config distinction (core#3062) #3071
Reference in New Issue
Block a user
Delete Branch "fix/template-delivery-e2e-config-flake-3062"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Hardens
tests/e2e/test_template_delivery_e2e.shassertion C so it no longer flakes on transient curl timeouts against the just-online/configsinspection endpoint.How
/workspaces/$WID/files/config.yamldirectly and FREEZE the observed size once a real (>1 KiB) config is seen.This names the mechanism behind the same-SHA pass/fail pairs in molecule-core#3062: a late timeout while waiting for
prompts/could reset the previously-observed config size to 0, causing the flake.Fixes #3062
Test plan
SOP checklist
SOP checklist
APPROVED on head
92db8e1e8d.5-axis review: correctness looks sound. The config.yaml assertion now polls the direct file endpoint, freezes CFG_SIZE once a real >1 KiB config is observed, and keeps prompts polling separate so a later transient /configs timeout cannot erase an earlier successful config observation. The timeout failure message distinguishes still-provisioning from genuine online/running missing-config, which matches the #3062 flake mechanism. Robustness is improved with bounded retry/backoff; security surface is unchanged; performance impact is limited to the e2e harness; readability is acceptable. I ran bash -n on the script successfully. CI still had pending contexts and a gate-check failure when checked, so merge should wait for branch protection/all-required.
APPROVED on current head
92db8e1e.5-axis: Correctness looks sound for the #3062 flake: config.yaml is fetched directly and its observed real size is frozen once >1 KiB, so later prompt polling timeouts cannot reset CFG_SIZE back to 0. The failure message now distinguishes still-provisioning from online/running missing-config. Robustness is improved with bounded retries and Shellcheck is green. Security surface is unchanged. Performance impact is bounded by ASSET_SETTLE_SECS and the existing E2E path. Readability is clear enough for this harness.
CI note: CI / all-required and Shellcheck are green. The purpose-specific template-delivery E2E was still running when reviewed, and gate-check-v3 was red; merge should wait for required policy/gates to settle.
/sop-ack 1
/sop-ack 2
/sop-ack 3
/sop-ack 4
/sop-ack 5
/sop-ack 6
/sop-ack 7