Skip to content

feat(scenarios/major-upgrade): in-workflow SND provisioning + upload-report#347

Merged
bdchatham merged 2 commits into
mainfrom
feat/major-upgrade-in-workflow-provisioning
May 21, 2026
Merged

feat(scenarios/major-upgrade): in-workflow SND provisioning + upload-report#347
bdchatham merged 2 commits into
mainfrom
feat/major-upgrade-in-workflow-provisioning

Conversation

@bdchatham
Copy link
Copy Markdown
Collaborator

@bdchatham bdchatham commented May 21, 2026

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.

  • New scenarios/major-upgrade/validator.yaml.tmpl — 4-validator SND with the gov voting-period override + tx_index/api.rest config previously injected via seictl --override.
  • Prepend provision-validator-chain (seitask provision-snd --role=validator) as the first Serial child of the entry template.
  • Append upload-report (seitask upload-report) as the last Serial child.
  • Swap hardcoded ${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).
  • Align workflow-vars CM name to workflow-vars-major-upgrade-${RUN_ID} matching taskruntime.WorkflowVarsName.
  • Shrink compute-target-height and resolve-proposal-id from kubectl create --dry-run | apply (CM creation + Workflow UID lookup) to kubectl 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

  • kubectl-apply the rendered Workflow on harbor manually post-merge + image build; observe terminal phase
  • Verify ownerRef cascade: deleting the Workflow CR removes the SND + workflow-vars CM
  • Confirm upload-report writes the per-step snapshot to S3

🤖 Generated with Claude Code

…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>
@cursor
Copy link
Copy Markdown

cursor Bot commented May 21, 2026

PR Summary

Medium Risk
Moderate risk because it changes the major-upgrade workflow’s orchestration (in-workflow provisioning, variable wiring, and timeouts) and adds S3 report uploading, which could affect CI reliability and cleanup semantics.

Overview
The major-upgrade Chaos Mesh workflow now provisions its own 4-validator SeiNodeDeployment inside the workflow (new validator.yaml.tmpl) and switches node references from an external $SEI_DEPLOYMENT to the in-workflow $SEI_CHAIN_ID deployment.

Workflow variable handling is updated to rely on a pre-seeded workflow-vars-major-upgrade-$SEI_WORKFLOW_RUN_ID ConfigMap (patched via kubectl patch), and RPC/REST access is taken from VALIDATOR_TM_RPC/VALIDATOR_REST rather than hardcoded service URLs. The workflow deadline is extended, an upload-report step is appended to push run artifacts to S3, and the seitask Docker image now includes the major-upgrade scenario assets.

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

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread scenarios/major-upgrade.yaml
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>
@bdchatham bdchatham merged commit 728924e into main May 21, 2026
5 checks passed
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