Skip to content

fix(scenarios/major-upgrade): downward-API env on runner Tasks + tolerate space in gov REST status#351

Merged
bdchatham merged 1 commit into
mainfrom
fix/runner-task-downward-api-env
May 22, 2026
Merged

fix(scenarios/major-upgrade): downward-API env on runner Tasks + tolerate space in gov REST status#351
bdchatham merged 1 commit into
mainfrom
fix/runner-task-downward-api-env

Conversation

@bdchatham
Copy link
Copy Markdown
Collaborator

@bdchatham bdchatham commented May 22, 2026

Summary

Two scenario fixes discovered on the first successful end-to-end major-upgrade fire.

1. Missing downward-API env on runner Task containers

#350 made taskruntime.LoadWorkflowIdentity mandatory at runner startup (reads SEI_WORKFLOW_NAME + SEI_NAMESPACE from env via downward API). The 12 runner Task containers in scenarios/major-upgrade.yaml never had the env block; every runner step exited code 2 with seitask: infra: downward-API env not projected.

Added the standard env block to all 12 containers (matching keygen/provision-snd/upload-report).

2. Gov REST response has space after colon

wait-for-proposal-to-pass extracts the proposal status with:

sed -n 's/.*"status":"\([A-Z_]*\)".*/\1/p'

The API returns "status": "PROPOSAL_STATUS_PASSED" (space after colon). The regex required no space, so STATUS was always empty and all 300 polling attempts returned "unknown" — even though the proposal had already passed on-chain (verified by live curl post-mortem).

Changed to [[:space:]]* to tolerate any whitespace.

Test plan

  • Bump SCENARIO_REF + SEITASK_IMAGE to this commit's SHA after ECR builds
  • Re-fire major-upgrade; confirm wait-for-proposal-to-pass resolves PROPOSAL_STATUS_PASSED and the full upgrade sequence completes

🤖 Generated with Claude Code

… on runner Task containers

#350 made taskruntime.LoadWorkflowIdentity mandatory at runner startup
so applied SeiNodeTask CRs get a Workflow ownerRef. LoadWorkflowIdentity
reads SEI_WORKFLOW_NAME + SEI_NAMESPACE from env (downward API).

The keygen/provision-snd/upload-report Task containers already project
these via downward API, but the 12 `runner` Task containers in
scenarios/major-upgrade.yaml did NOT — pre-#350 the runner didn't need
them. Result: every runner step in major-upgrade exits 2 with
`seitask: infra: downward-API env not projected: [SEI_WORKFLOW_NAME
SEI_NAMESPACE]` before doing any work. The gov pipeline silently
failed end-to-end on the first post-#350 fire even though chaos-mesh
reported the Workflow Accomplished (because chaos-mesh Accomplished
doesn't mean container exit 0).

Add the env block to all 12 runner Task containers. scenarios/release-test
and scenarios/load-test don't invoke `runner`, so they're unaffected.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cursor
Copy link
Copy Markdown

cursor Bot commented May 22, 2026

PR Summary

Low Risk
Low risk: YAML-only changes that add env vars to workflow task pods; main risk is misprojection causing scenario steps to still fail at runtime.

Overview
Fixes the scenarios/major-upgrade.yaml workflow by projecting SEI_WORKFLOW_NAME and SEI_NAMESPACE (via downward API) into every runner Task container.

This unblocks the major-upgrade scenario after the runner began requiring workflow identity env at startup, preventing runner steps from exiting immediately due to missing env vars.

Reviewed by Cursor Bugbot for commit 84aea04. Bugbot is set up for automated code reviews on this repo. Configure here.

@bdchatham bdchatham merged commit f9e7d91 into main May 22, 2026
5 checks passed
@bdchatham bdchatham changed the title fix(scenarios/major-upgrade): project SEI_WORKFLOW_NAME/SEI_NAMESPACE on runner Task containers fix(scenarios/major-upgrade): downward-API env on runner Tasks + tolerate space in gov REST status May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant