Retry OSDC smoke tests once after a settle wait#933
Conversation
tofu plan — meta-prod-aws-ue2✅ Plan succeeded · commit Plan output |
tofu plan — meta-prod-aws-uw1✅ Plan succeeded · commit Plan output |
tofu plan — meta-prod-aws-ue1✅ Plan succeeded · commit Plan output |
tofu plan — lf-prod-aws-ue1✅ Plan succeeded · commit Plan output |
tofu plan — lf-prod-aws-ue2✅ Plan succeeded · commit Plan output |
| # Smoke failures are usually transient cluster churn (the cluster needs | ||
| # time to converge after deploy), so retry once after a settle wait. | ||
| - name: Run smoke tests | ||
| id: smoke |
There was a problem hiding this comment.
Why not use https://github.com/nick-fields/retry#retry_wait_seconds here? It looks nicer with that GHA
There was a problem hiding this comment.
Believe or not, this was the first implementation agents came up with. Then the full set of security review flagged that it uses internally a js script that is not pinned. So even if you pin the action to a specific hash, the code it actually runs is downloaded from a tag and is not safe from supply-chain attacks.
This leads me to drop the idea of using it for retry on context/workflows with critical infra tokens. I asked the agent to comment that, but it limited itself to mention in the previous PR "preferred over third party retry mechanisms that are unpinneable" - fail to mention the nick-fields and why it should not be used.
Do you believe I should document this?
Stack from ghstack (oldest at bottom):
Impact: CI only — the
smokejob in the OSDC deploy workflowRisk: low
What
Wraps the smoke test step in
_osdc-deploy.ymlwith a retry-by-duplication: the first run is markedcontinue-on-error, and on failure the job waits 180s for the cluster to settle before running smoke a second time. The job timeout is bumped from 30 to 60 minutes to accommodate the extra attempt, and the deployment skill doc is updated to note the new smoke retry.Why
Smoke failures right after a deploy are usually transient — the cluster needs time to converge before everything is healthy. A single automatic retry avoids spurious red on the deploy path without pulling in an unpinnable third-party retry action, staying consistent with the existing retry-by-duplication pattern used for the
osdc-setupcomposite action.Signed-off-by: Jean Schmidt contato@jschmidt.me