Skip to content

How to upgrade Telos

mark-cohen edited this page Dec 20, 2018 · 11 revisions

Intent

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.

Assumptions

  • 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)

Upgrading Telos

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:

pkill 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.

pgrep nodeos

4: Change to the directory where your current Telos installation resides. In this example, we're using the /telosdata/telos directory.

cd /telosdata/telos

5: Pull the new branch(es):

git pull

6: Checkout and update the current branch: git checkout oak-v1.4.5

git submodule update --init --recursive

7: Run the build script: ./telos_build.sh

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: sudo ./telos_install.sh

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”

nodeos --version

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]

You can’t perform that action at this time.