I am upgrading to 1.29 and have built and synced the update on by build machine which took many hours. Instead of going through the same process on the core and relay machine would it be possible to just copy relevant files from the build machine to the other machines? I would assume I could simply copy all of the updated executables (cardano-node, cardano-cli, etc) which would save build time but in order to save down time which other files would I need to copy? I am using CNTOOTLS and would perhaps assume the db folder there? Any other files?
It should only take a few minutes of real downtime. I usually do this:
compile on one of the relays
update binary and restart the first relay (zero downtime for the node, since the other relay is still running)
compile and update the second relay (zero downtime for the node)
compile (or copy from relay) on the core
update the node and restart (a few minutes of downtime unless a ledger rebuild is required)
The last step is executed when Iām sure no blocks will be arriving (query leaderlog for this), so overall the effective downtime is zero.
If you are on cloud services that support snapshots, remember to make them on relays and core before doing the updates, so that you can do a fast rollback if needed.
I did the whole CoinCashew installation processā¦EXCEPT the actual compile of the cardano binarys. I skipped that. I did the libsodium install, and all the āapt installā packages then:
Download the pre-built binaries from the IOHK repository.
Create a directory ~/bin/1.29.0 and untar the pre-builts into this directory.
Create a link āln -s ~/bin/1.29.0 ~/.bin/cardanoā
Make sure all your scripts are looking for ā~/bin/cardano/cardano-nodeā
run your node.
When 1.30.0 comes out:
make a directory ~/bin/1.30.0 and untar the latest binaries into that directory.
Stop the node.
Re-create the link āln -sf ~/bin/1.30.0 ~/bin/cardanoā
Restart the node.
My downtime from start to finish was about 1.3 seconds.
If the pre-built binaries work, as they do for me, there isnāt a need that Iāve seen yet to compile them from source. You just need to make sure all of the dependencies a ābuild-from-sourceā install has you install.
I eventually managed to update pretty well to 1.29.0 by building the binaries on my build machine, syncing and running cardano on the build machine and then copying the binaries and db files to the core and relay server. Downtime was minimal and the startup time for the relay was about 5 min (until fully synced). There was about a day gap between uploading the files and running the update. It was my first update so I took it slowly.
The first time I ran the update I missed the Alonzo hash on the config file. That may have been the reason it triggered a full update, not sure. Otherās on the other thread by @Alexd1985 also seem to have a major rebuild. I donāt mind having to practice an update of the whole ledger as it will probably be the case when the smart contracts update comes along. @mcrio do you normally upgrade whenever you see a new version on git? I notice that v1.29.1 is already out. Or do you wait for some official announcement to update?