Concordium / concordium.github.io

Concordium Developer Documentation
https://developer.concordium.software/
Creative Commons Attribution Share Alike 4.0 International
18 stars 34 forks source link

Add documentation about how to upgrade from one node version to a new one #394

Closed dg-concordium closed 2 years ago

dg-concordium commented 2 years ago

There is no documentation about how to upgrade from one node version to a new one. We need to include this for all platforms: Windows, macOS, Docker/Linux, and Ubuntu.

Added 26/01:

We need a recommendation for what people should do if their node or baker stops working. What should they backup How do they get an node / baker running again.

There are different ways this can happen:

  1. the node crashes and corrupts its database -> for this we need platform specific instructions since distributions store data in different places
  2. cannot get peers, cannot catch up -> this can be for a number of reasons and they are mostly their network configuration
  3. various niche scenarios when people fiddle with things

For 1. the symptom is always the same, the node fails to start, or is in a restart loop with an error message about database corruption, or "too few bytes" message. The solution is to delete the relevant portion of the database. The exact instructions will differ on the distribution/platform that they have. For 2., we already tell them how they should set up, and what ports they need to open for their node to be reachable.

It would be useful to recommend what to do if the node database corrupts. bullet 2 and 3 are not relevant. We need a recommendation for a scenario where the hardware fails, e.g. a disk crash.

abizjak commented 2 years ago

I'm not sure what you mean. We have documentation at least for the ubuntu node https://developer.concordium.software/en/mainnet/net/guides/run-node-ubuntu.html#upgrade-from-version-1-1-3-to-3-0-0

(but I see there is a typo/leftover) where it should say

To upgrade from version 1.1.3 of the concordium-mainnet-node package to version 3.0.0 of the concordium-mainnet-node package you need to:

The same upgrade process applies to 3.0.0->3.0.1 and also 1.1.3->3.0.1 so perhaps we could rewrite the current paragraph to just talk about upgrades without mentioning versions.

dg-concordium commented 2 years ago

I see that now. We have it for Docker and Ubuntu, but not Windows or macOS. If it is possible to make it versionless then I very much prefer that. I believe I was told I had to include the version, but I don't know why.

abizjak commented 2 years ago

For the ubuntu version, the upgrade from 1.0.1 -> 1.1.3 was more complex, and different from the one from 1.1.3 -> 3.

But now it can be made version-less.