poa-devops/docs/Update-parity-version.md

4.4 KiB

Update parity to a newer version

  1. this guide assumes that you're running this playbook from the same machine that you used to make initial deployment of your node. So that you already have python and ansible installed, and you have the correct ssh keypair to root-access the node.

Running the update

  1. clone this repository if you haven't done so before
git clone https://github.com/poanetwork/poa-devops.git
cd poa-devops

or pull the latest changes

cd poa-devops
git pull origin master
  1. create group_vars/all file:
cp group_vars/upd-parity-version.example group_vars/all

and change the following variables:

  • poa_role - role of the node on the network (one of bootnode, validator, moc, explorer)
  • resync - must be set to "off"

don't change other options

  1. create/edit hosts file and put your node's ip address (assuming it's 192.0.2.1) there with the following header:
[upd-parity-version]
192.0.2.1

NOTE: if you're updating an existing file, make sure you remove other tags [...] and ips.

  1. run the playbook:
ansible-playbook -i hosts upd-parity-version.yml

Verifying the update

  1. playbook run should be completed without errors

  2. open network statistic webpage:

check that your node is "green" and is catching new blocks. It may take 5-6 minutes to fully start and reconnect

  1. connect to the node
ssh root@192.0.2.1

and check parity version (replace bootnode with correct role name ,e.g. validator):

/home/bootnode/parity --version

sample output:

Parity
  version Parity/v1.9.2-beta-0feb0bb-20180201/x86_64-linux-gnu/rustc1.23.0
Copyright 2015, 2016, 2017, 2018 Parity Technologies (UK) Ltd
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

By Wood/Paronyan/Kotewicz/Drwięga/Volf
   Habermeier/Czaban/Greeff/Gotchac/Redmann

  1. during the following day check status of your node on network status webpage and associated functions (e.g. for validators - are block rewards still being sent from your mining key to your payout key).

Rollback to the previous version (in case of problems)

NOTE: if you get any errors please consult the POA Team first, probably you have a minor issue and don't need to rollback

  1. connect to the node:
ssh root@192.0.2.1
  1. switch to your home folder (replace bootnode with correct role name):
cd /home/bootnode
  1. stop services:
systemctl stop poa-netstats
systemctl stop poa-parity
  1. locate the backup folder:
ls backups-version

it contains folders labeled by the time backup was created in format<year><month><day>T<hour><minute><second>, e.g.

# ls backups-version
20180208T152105 20180209T214517

copy the version number that corresponds to this day. In the following examples we assume that it's 20180209T214517.

  1. make sure you have your mining key data (keyfile, password, address) available to you

  2. remove files from the new version:

rm -rf parity_data
rm parity
rm node.toml
  1. restore previous versions of these files from backup (note dots . at the end of each line here, they are important):
cp -a backups-version/20180209T214517/parity .
cp -a backups-version/20180209T214517/parity_data .
cp -a backups-version/20180209T214517/node.toml .
  1. check parity version (must be previous one):
./parity --version

sample output:

Parity
  version Parity/v1.8.4-beta-483c306-20171213/x86_64-linux-gnu/rustc1.22.1
Copyright 2015, 2016, 2017 Parity Technologies (UK) Ltd
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

By Wood/Paronyan/Kotewicz/Drwięga/Volf
   Habermeier/Czaban/Greeff/Gotchac/Redmann

  1. restart services
systemctl restart poa-parity
systemctl restart poa-netstats
  1. open network statistic webpage:

check that your node is "green" and is catching new blocks. It may take 2-3 minutes to fully start and reconnect