v0.6.0 -> v0.7.0 upgrade guide #84
@ -9,7 +9,7 @@ Skip this section if you use docker
|
||||
|
||||
|
||||
This is very similar to building v0.6.0. We keep v 0.6.0 running until v0.7.0 is built and only after the successful build we should replace 0.6.0 binary with v0.7.0. This is to avoid jailing your validator for long downtime.
|
||||
The general upgrade plan is the following:
|
||||
1. Install Go v1.19 (we used 1.18 for v0.6.0)
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
1. Install Go v1.19.5 (we used 1.18 for v0.6.0)
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
2. Remove old copy of the github repository and build directory
|
||||
3. Download the latest laconicd repository and checkout v0.7.0
|
||||
4. Build laconicd binary (but not install in this moment)
|
||||
@ -17,7 +17,8 @@ The general upgrade plan is the following:
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
agree agree
|
||||
6. Install recently built new version of laconicd
|
||||
7. Start laconicd service
|
||||
|
||||
You have ~10 minutes after step 5 to complete steps 6 and 7 before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
>***You have ~10 minutes after step 5 to complete steps 6 and 7 before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.***
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
|
||||
|
||||
### Install Go 1.19
|
||||
@ -50,6 +51,8 @@ go version
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
agree agree
|
||||
|
||||
### Remove old copy of `laconicd` build
|
||||
|
||||
>Attention should be paid that the directory mentioned below is `~/laconicd` and NOT `~/.laconicd`. The latter is the data directory containing all your node data and configuration and it must be kept during the upgrade.
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
i-norden
commented
Makes me think we should make the datadir name different from the directory/package/executable name Makes me think we should make the datadir name different from the directory/package/executable name
|
||||
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
```sh
|
||||
# Remove the previous build directory
|
||||
cd ~
|
||||
@ -63,7 +66,7 @@ rm -rf laconicd
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
agree agree
|
||||
git clone https://github.com/cerc-io/laconicd.git
|
||||
cd laconicd
|
||||
|
||||
# Checkout main branch
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
# Checkout 0.7.0 branch
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
git fetch --all
|
||||
git checkout v0.7.0
|
||||
```
|
||||
@ -85,6 +88,12 @@ make VERSION=v0.7.0 build
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
agree agree
|
||||
sudo systemctl stop laconicd
|
||||
```
|
||||
|
||||
>***Make sure the service is stopped***
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
```sh
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
sudo systemctl status laconicd
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
```
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
---
|
||||
Probably good to verify that service is stopped Probably good to verify that service is stopped
will add a command for this will add a command for this
|
||||
|
||||
### Install new `laconicd` version
|
||||
@ -125,6 +134,7 @@ Upgrade plan:
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
agree agree
|
||||
3. Create v0.7.0 container
|
||||
4. Start v0.7.0 container
|
||||
|
||||
>***You have ~10 minutes to complete the upgrade procedure before your validator is jailed for downtime. Getting jailed for downtime is not a disaster, however would require manual unjailing.***
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
|
||||
|
||||
### Stop running v0.6.0 container
|
||||
Why do we stop service first before build? Why do we stop service first before build?
What if a build time is longer than 10 minutes?
We don't build we just create a container (pulling an image takes only few moments). The reason to remove the previous container is to keep the same container name laconic-testet-5 but with a new version of laconicd. We don't build we just create a container (pulling an image takes only few moments). The reason to remove the previous container is to keep the same container name laconic-testet-5 but with a new version of laconicd.
Thanks! Thanks!
|
||||
```sh
|
||||
|
||||
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4 I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation It is 1.19.5 later in the documentation
agree agree
agree agree
|
I would pin to a specific version like 1.19.4
I would pin to a specific version like 1.19.4
Would mark it as warning. People might oversee this part
Would mark it as warning. People might oversee this part
It is 1.19.5 later in the documentation
It is 1.19.5 later in the documentation
agree
agree