Repository navigation
docs(migration): keep the reserve build out of the running node's path until step 3 - #4462
Closed
alexander-sei wants to merge 2 commits into
Closed
alexander-sei wants to merge 2 commits into
alexander-sei wants to merge 2 commits into
Conversation
…ling it Step 1 of both reserve guides ran `make install`, which overwrites $(go env GOPATH)/bin/seid, the binary a node installed that way runs. On a pacific-1 node still on v6.6 the next restart would start the v6.7.0 reserve build before the v6.7 upgrade height, and with no upgrade plan on chain it logs nothing. On testnet it would turn whatever node runs that binary into a reserve without step 3's FlatKV check. Build with `make build BUILD_TAGS=mock_chain_validation`, which uses the same flags but writes build/seid, and say in step 3 when and where to put it in place: over the binary the service starts, at the upgrade halt for a v6.6 node, or in $DAEMON_HOME/cosmovisor/upgrades/v6.7/bin/seid under Cosmovisor (v6.7 is the upgrade name in app/tags). Also note that the build loads its wasm libraries from the checkout, so the checkout has to stay unchanged. Co-authored-by: alexander-sei <alexander-sei@users.noreply.github.com>
Both guides built the digest tool into build/seidb and then called a bare `seidb`, which is "command not found" on a fresh machine and silently runs whatever older seidb is on PATH elsewhere; one without `--memiavl-open-mode changelog` rejects the composite command. Call it as ./build/seidb from the checkout, and say that the normal node needs the same binary. Co-authored-by: alexander-sei <alexander-sei@users.noreply.github.com>
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
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.
seidroid's review of #4460 found that step 1 of the mainnet reserve guide runs
make install. That overwrites$(go env GOPATH)/bin/seid, the binary av6.6node installed withmake installruns. The node's next restart before thev6.7upgrade height would then start thev6.7.0reserve build onv6.6blocks, and with no upgrade plan on chain it logs nothing. The testnet guide has the same step. There, a restart turns whichever node runs that binary into a reserve, without step 3's FlatKV check. Both guides also build the digest tool intobuild/seidbbut then call a bareseidb, which is either missing or an older copy fromPATH.Step 1 now runs
make build BUILD_TAGS=mock_chain_validation, which uses the sameBUILD_FLAGSasmake installbut writes./build/seid, and checks the result with./build/seid version --long. Step 3 says what installing means: copyingbuild/seidover the binary the service starts, whichsystemctl cat seidshows (under Cosmovisor,current/bin/seid). Av6.6node keeps its binary until the upgrade halt. Under Cosmovisor, it gets the reserve build in$DAEMON_HOME/cosmovisor/upgrades/v6.7/bin/seid, becausev6.7is the upgrade name inapp/tagsand Cosmovisor names the directory after the plan, lower-cased. The Upgrades and Don't sections now say the same. The build loads its wasm libraries through aRUNPATHthat points into the checkout, so both guides say to leave the checkout unchanged while a node runs the build. The digest commands now call./build/seidb.This is a docs-only change. I ran
make buildat2bff7d5a9. It printed the version, commit and tags the guides show, and it left$(go env GOPATH)/binempty.readelfshows theRUNPATHinto the checkout. rc3'sseidbrejects--memiavl-open-mode changelog, which is the concrete failure the bareseidbcall risked.