feat(scenarios/major-upgrade): in-workflow SND provisioning + upload-report#347
Conversation
…report
Move SND lifecycle out of the platform-side bash orchestrator and into
the Workflow itself, matching the release-test/load-test pattern. Add
provision-validator-chain (seitask provision-snd, role=validator) as the
first Serial child and upload-report as the last; swap hardcoded
internal-service URLs for ${VALIDATOR_TM_RPC} / ${VALIDATOR_REST} from
workflow-vars; align CM name to workflow-vars-major-upgrade-<run-id>
matching the WorkflowVarsName helper.
The bash producer steps (compute-target-height, resolve-proposal-id)
shrink to kubectl patch --type=merge against the CM provision-snd
already seeded with ownerRef. The validator template carries the gov
voting-period override + tx_index/api.rest config previously injected
via seictl --override flags.
Per-run resources (SND, workflow-vars CM, SeiNodeTasks) carry ownerRef
to the parent Workflow CR, so the platform wrapper's only cleanup duty
is kubectl delete workflow.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR SummaryMedium Risk Overview Workflow variable handling is updated to rely on a pre-seeded Reviewed by Cursor Bugbot for commit 08c6fb1. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7978b7f. Configure here.
provision-validator-chain references --template=/scenarios/major-upgrade/ validator.yaml.tmpl. Without the COPY line the path is absent at runtime and provision-snd fails immediately with file-not-found, wedging the first step of the Workflow. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Summary
Move SND lifecycle out of the platform-side bash orchestrator and into the Chaos Mesh Workflow itself, matching the release-test/load-test pattern that #326 and #343 established.
scenarios/major-upgrade/validator.yaml.tmpl— 4-validator SND with the gov voting-period override + tx_index/api.rest config previously injected viaseictl --override.provision-validator-chain(seitask provision-snd --role=validator) as the first Serial child of the entry template.upload-report(seitask upload-report) as the last Serial child.${SEI_DEPLOYMENT}-internal.${SEI_NAMESPACE}.svc.cluster.local:{26657,1317}URLs to${VALIDATOR_TM_RPC}/${VALIDATOR_REST}from workflow-vars (seeded by provision-snd's RoleScoped publishing).workflow-vars-major-upgrade-${RUN_ID}matchingtaskruntime.WorkflowVarsName.compute-target-heightandresolve-proposal-idfromkubectl create --dry-run | apply(CM creation + Workflow UID lookup) tokubectl patch --type=merge(CM is already created with ownerRef by provision-snd).Per-run resources (SND, workflow-vars CM, SeiNodeTasks) now carry ownerRef to the parent Workflow CR; the platform wrapper's only cleanup duty becomes
kubectl delete workflow.Paired with sei-protocol/platform#634 which switches the harbor cronjob to the slim wrapper. Gated on this PR landing + the matching ECR seitask-runner build.
Test plan
upload-reportwrites the per-step snapshot to S3🤖 Generated with Claude Code