How to upgrade Telos
The intent of this document is to provide guidance and best practices around the procedure to upgrade a Telos block producing “node” (henceforth referred to as an “instance”). This is intended for a technical audience, such as system administrators, as a certain level of experience, and fundamental understanding of the concepts described herein is expected.
- Ubuntu 16.04 LTS or Ubuntu 18.04 LTS.
- Pre-existing fully functional Telos producing instance.
- Git is installed, and Telos git repo has been previously cloned locally.
- Path to nodeos binary is in your path (usr/local/bin/nodeos)
1: Unregister your producing instance. If the instance to be upgraded is a producer node, it is critical that you unregister your instance prior to performing any maintenance and/or upgrades. Unregistering a producer moves a standby producer into producing, and as a result, keeps the network running smoothly.
teclos system unregprod producername
2: Shut down nodeos:
3: To verify that nodeos is no longer running, this command should return no output. If it returns a value (numerical value representing the nodeos process ID), repeat the previous step.
4: Change to the directory where your current Telos installation resides. In this example, we're using the /telosdata/telos directory.
5: Pull the new branch(es):
6: Checkout and update the current branch:
git checkout oak-v1.4.5
git submodule update --init --recursive
7: Run the build script:
Depending on your instance's cpu power, this script will take some time to run, so be patient. If you get this, you’ve done good:
You can now run the commands displayed to verify your installation. Be advised that at this time, a few of the tests have not been re-written for Telos and will likely fail.
8: Run the install script:
9: Once the install completes (100%), restart nodeos:
nodeos --data-dir /telosdata/data --config-dir /telosdata/data "$@" > /telosdata/data/stdout.txt 2> /telosdata/data/stderr.txt &
10: Verify the version of nodeos is as expected; in this example, we’re upgrading to version 3.0, so the output should state “oak-v1.4.5”
11: With nodeos running, monitor the stderr.txt log. Once your node has fully (re)synced and if all 21 BPs are producing, you will see a block every .5 seconds in stderr.txt.
tail -f /telosdata/data/stderr.txt
12: Re-register your producing instance.
teclos system regproducer producername producerpublickey [producer URL] [producer ISO location code]