Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: chain upgrade procedure, for operators #4097

Merged
merged 1 commit into from
Mar 27, 2024
Merged

Conversation

conorsch
Copy link
Contributor

Adds documentation for the specific steps to be performed by a node operator in order to participate in a chain upgrade. These docs are largely based on the existing wiki notes [0], adapted for a generalized Penumbra setup.

Similarly, sketched out some corresponding changes to the pd testnet join docs, but left them commented out for now: those docs are only relevant for joining a chain that has already been upgraded. If things go well with #4087, we'll uncomment those docs and start using them.

Finishes and therefore closes #3841.

[0] https://github.com/penumbra-zone/penumbra/wiki/Performing-upgrades

@conorsch conorsch requested a review from erwanor March 25, 2024 17:56
@cratelyn cratelyn added A-docs Area: Documentation needs for the project A-upgrades Area: Relates to chain upgrades labels Mar 25, 2024
@conorsch
Copy link
Contributor Author

Also closes #1812.

docs/guide/src/pd/chain-upgrade.md Outdated Show resolved Hide resolved
The value after `now=` is what should be copied. In practice, for testnets, Penumbra Labs will advise on a genesis time
and provide that value in the documentation. Or should we just pick a genesis start ahead of time, and use that for all?
-->
5. Apply the migration: `pd migrate --genesis-start "GENESIS_TIME" --target-directory ~/.penumbra/testnet_net/node0/pd-exported-state/ --migrate-archive ~/.penumbra/testnet_data/node0/pd-migrated-state-{{ #include ../penumbra_version.md }}.tar.gz`.
Copy link
Member

Choose a reason for hiding this comment

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

I think I would add a section about genesis time and explain that this is decided by validators/node runners, possibly via the governance proposal itself (non-binding, opt-in). And describe how genesis time works: if it is set in the future, the node will start and wait for the time of genesis to be reached before it can start producing blocks (and peering?).

@cratelyn cratelyn added this to the Sprint 3 milestone Mar 26, 2024
Adds documentation for the specific steps to be performed by a node
operator in order to participate in a chain upgrade. These docs are
largely based on the existing wiki notes [0], adapted for a generalized
Penumbra setup.

Similarly, sketched out some corresponding changes to the `pd testnet
join` docs, but left them commented out for now: those docs are only
relevant for joining a chain that has already been upgraded. If things
go well with #4087, we'll uncomment those docs and start using them.

Finishes and therefore closes #3841.

[0] https://github.com/penumbra-zone/penumbra/wiki/Performing-upgrades
@conorsch
Copy link
Contributor Author

Great comments, @erwanor, thanks for the deep read. I've amended the docs according to your suggestions.

@conorsch conorsch merged commit 6897901 into main Mar 27, 2024
7 checks passed
@conorsch conorsch deleted the docs-chain-upgrade branch March 27, 2024 16:00
conorsch added a commit that referenced this pull request Apr 19, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state
  * do not delete historical cometbft state data

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
conorsch added a commit that referenced this pull request Apr 19, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
conorsch added a commit that referenced this pull request Apr 19, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state
  * use `cometbft reset-state` rather than a custom find command

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
conorsch added a commit that referenced this pull request Apr 22, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state
  * amend custom find command to preserve `tx_index.db`

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
conorsch added a commit that referenced this pull request Apr 22, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state
  * amend custom find command to preserve `tx_index.db`

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
conorsch added a commit that referenced this pull request Apr 22, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state
  * amend custom find command to preserve `tx_index.db`

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
erwanor pushed a commit that referenced this pull request Apr 24, 2024
Follow-up to #4097. We performed a chain upgrade on Penumbra
for v0.71.0. Based on feedback from the community validators, we've
refined the procedure somewhat. Substantive changes to the docs are as
follows:

  * backup the entire pd & cometbft data dirs, as a precaution
  * upgrade to new pd early, prior to running export, for simplicity's
    sake
  * only move the exported rocksdb directory, which allows preservation
    of other dirs in pd state, e.g. acme tls info
  * do not reset priv validator state
  * amend custom find command to preserve `tx_index.db`

Not yet included in these docs are specifics about the upcoming release;
we'll add those soon.

Finishes and therefore closes #1812.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-docs Area: Documentation needs for the project A-upgrades Area: Relates to chain upgrades
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

pd: support state tarball for joining nodes
3 participants