fix(sn-manager): replace EVM rollback stack with minimal upgrade gate#316
Open
mateeullahmalik wants to merge 3 commits into
Open
fix(sn-manager): replace EVM rollback stack with minimal upgrade gate#316mateeullahmalik wants to merge 3 commits into
mateeullahmalik wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace the broad sn-manager EVM preflight/rollback implementation with the minimal forward-only gate already merged and released through #315.
Commit sequence is intentionally auditable:
master.The resulting tree is exactly
masterimmediately before #311 plus the four-file #315 patch.Behavior
evm_key_name<2.6<2.6<2.6>=2.6<2.6>=2.6>=2.6The
v2.6.0-testnetprerelease is treated as a v2.6 binary by comparing core versions.Rationale
evm_key_nameis transitional migration input, not durable proof of runtime validity. Its absence must not trigger an automatic downgrade. The manager only needs to prevent an unprepared pre-v2.6 node from crossing the v2.6 boundary.#311/#313 expanded this into chain probing, rollback/history state, cross-process locking, channel/bootstrap changes, startup key validation, migration write-order changes, and related observability. Those concerns should not remain bundled into this narrow compatibility gate.
Explicit removals
This PR intentionally removes the behavior and hardening introduced by #311/#313, including:
sn-manager-testsworkflow job added in fix(sn-manager): remove automatic EVM rollback #313.The last item is useful CI coverage but is intentionally not retained inside this behavior-replacement PR. It can be proposed separately without coupling it to updater semantics.
Risks
Partial failure
On a blocked transition, the updater returns before tarball lookup. The installed binaries, active symlink, persisted manager config, and restart marker remain unchanged.
Rollback strategy
Revert this PR as one unit before a new release. Do not operationally reintroduce automatic v2.5 rollback on nodes whose active keyring has already migrated to EVM format.
Migration
No chain or filesystem migration is required. This removes #311/#313 marker/locking behavior and retains the existing config schema plus the narrow read of
supernode.evm_key_name.Observability
update-blocked.logand historical rollback status behavior introduced by sn-manager: EVM preflight + auto-rollback (v2.6.1-testnet fix) #311/fix(sn-manager): remove automatic EVM rollback #313.State-machine impact
None.
Verification
Using repository-required Go 1.26.2:
go test ./...insn-managergo test -race ./internal/updater ./internal/utilsinsn-managergo vet ./...insn-managerCGO_ENABLED=0 go build ./...insn-managermake test-unitgo vet ./...go test -count=1 -v ./tests/integration/...go mod tidyin both modules: no diffgit diff --check