3.2.2. mijin Catapult(v.2) version up

This chapter describes how to do a minor upgrade of the mijin Catapult(v.2) node.
mijin Catapult(v.2) programs can be upgraded by updating the docker container version and, if necessary, the Config file.
Version upgrade announcements are sent out for paid support customers.

Warning

Synchronization may fail if there is a major version upgrade or version differences.
As of 2022/9/20 There will be no version upgrade.
creation-day:

Aug. 1, 2022

update date:

September 15, 2022

3.2.2.1. Step.1

Remote login to the node.
If you want to log in to AWS MarketPlace’s mijin Catapult(v.2), you can use mijin Catapult(v.2) EC2 instance login how to.

3.2.2.2. Step.2

Switch to the ‘catapult’ user running mijin.

$ sudo su - catapult
catapult@api1:~$

3.2.2.3. Step.3

Go to the directory where the mijin startup files are located.
Note that the directories are different for API and PEER nodes.

Node

Directories

API/Dual

mijin-catapult-package/package/api/catapult/

PEER

mijin-catapult-package/package/peer/catapult/

For API nodes, move as follows

catapult@api1:~$ cd mijin-catapult-package/package/api/catapult/
catapult@api1:~/mijin-catapult-package/package/api/catapult$

3.2.2.4. Step.4

Mijin launches multiple containers by docker.
Check multiple containers.

3.2.2.4.1. For API nodes

Four containers are running. Make sure that all States are Up. If there is something wrong, the state will be Exit instead of Up and you will be in a down state.

catapult@api1:~/mijin-catapult-package/package/api/catapult$ docker-compose ps
          Name                         Command               State           Ports
--------------------------------------------------------------------------------------------
catapult_api-node-broker_1   bash -c /bin/bash /scripts ...   Up
catapult_api-node_1          bash -c perl /scripts/wait ...   Up      0.0.0.0:7900->7900/tcp
catapult_db_1                docker-entrypoint.sh bash  ...   Up      27017/tcp
catapult_rest-gateway_1      docker-entrypoint.sh ash - ...   Up      0.0.0.0:3000->3000/tcp

3.2.2.4.2. For PEER node

One container is activated.
Make sure that all States are Up.
If there is some abnormality, it will be Exit instead of Up and will be in a down state.
catapult@peer1:~/mijin-catapult-package/package/peer/catapult$ docker-compose ps
        Name                      Command               State           Ports
--------------------------------------------------------------------------------------
catapult_peer-node_1   bash -c /bin/bash /scripts ...   Up      0.0.0.0:7900->7900/tcp

3.2.2.5. Step.5

Stop all mijin containers using docker-compose.

3.2.2.5.1. All containers stopped

catapult@api1:~/mijin-catapult-package/package/api/catapult$ docker-compose down
Stopping catapult_rest-gateway_1 ... done
Stopping catapult_api-node_1     ... done
Stopping catapult_db_1           ... done
Removing catapult_api-node-broker_1 ... done
Removing catapult_rest-gateway_1    ... done
Removing catapult_api-node_1        ... done
Removing catapult_db_1              ... done
Removing network catapult_default

3.2.2.5.2. After stopping, check the lock file and delete it if any.

catapult@api1:~/mijin-catapult-package/package/api/catapult$ ls -la /mnt/mijin/blocks/data/*.lock
---------- 1 catapult catapult 0 Jul 14 02:17 /mnt/mijin/blocks/data/broker.lock
---------- 1 catapult catapult 0 Jul 14 02:17 /mnt/mijin/blocks/data/server.lock
If a lock file exists after the stop as shown above, it is considered to have stopped abnormally.
Therefore, delete the lock file.
$ rm -rf /mnt/mijin/blocks/data/broker.lock /mnt/mijin/blocks/data/server.lock

3.2.2.6. Step.6

Modify the docker-compose file.
As an example, we will replace 1.0.0.0 with 1.0.0.1.
catapult@api1:~/mijin-catapult-package/package/api/catapult$ sed -i -e s/gcc-1.0.0.0/gcc-1.0.0.1/g docker-compose.yml

Note

Config file may need to be modified.
The procedure will be made available at the time of the upgrade announcement. (No version as of 9/20/20/2022)

3.2.2.7. Step.7

catapult@api1:~/mijin-catapult-package/package/api/catapult$ docker-compose up -d
Creating network "catapult_default" with the default driver
Creating catapult_db_1 ... done
Creating catapult_rest-gateway_1    ... done
Creating catapult_api-node-broker_1 ... done
Creating catapult_api-node_1        ... done
After startup, execute the items in Step.4 and make sure all containers are Up.