Yarnman Manual Upgrade
Only use this process if you have been instructed by yarnlab support
Below describes the process to manually upgrade Yarnman. This process might be useful when changing Linux versions or where multiple hop upgrades would otherwise be required or if changing IP addresses
Step 1
Create a Tarball in each of the source Yarnman Core and Arm Server (in sample below, Tarball is named ym-migration-core.tar.gz) with all the required files as follows
you may want to give a unique file name for the migration filename if you are migrating multiple nodes
sudo tar -cvzf ym-migration-core.tar.gz \
/opt/yarnlab/yarnman/config/ssl-cert.cert \
/opt/yarnlab/yarnman/config/ssl-key.pem \
/opt/yarnlab/yarnman/config/local.yaml \
/opt/yarnlab/yarnman/config/private-encryption-key.pem \
/opt/yarnlab/yarnman/config/public-encryption-key.pub \
/opt/yarnlab/yarnman/jade-berlin/jtapi.jar \
/opt/yarnlab/yarnman/config/ca/* \
/opt/couchdb/etc/local.ini \
/opt/couchdb/data/*
Change permissions of the file to ensure it can be exported - if the tar ball name is ym-migration-core-gz as in sample above this will be
sudo chmod 777 ym-migration-core.tar.gz
Export the Tarball to external server
Step 2
Shut down source Core and Arm server(s).
Deploy target Yarnman server and any arms as required skipping the Yarnman Install step
Deploy OVA yarnlab legacy documentation - v2.5.x | 1. Deploy yarnman OVA to VMware
Set IP using Bootstrap process yarnlab legacy documentation - v2.5.x | 2. Using VMware Console log into Yarnman to bootstrap configuration
Setup NTP yarnlab legacy documentation - v2.5.x | Setup NTP Synchronization
Do NOT proceed past NTP setup and run the install yarnman steps as this is not required for this migration
Step 3
Copy Tarball created under step 1 to the new server using SFTP
Note that due to permissions the file will need to be SFTP’d to yarnman directory such as /opt/yarnlab/yarnman/ then moved to root directory
Extract Tarball in target server as follows
sudo tar -xvzf ym-migration.tar.gz
Step 4a - Core Node
Perform these command for Core node(s)
Restart CouchDB, Redis, update database and Reset yarnman as follows
CouchDB Restart
sudo systemctl restart couchdb
Update Redis
sudo sed "s/^bind .*/bind 0.0.0.0/g" -i /etc/redis/redis.conf
sudo systemctl restart redis
Update Database
cd /opt/yarnlab/yarnman
sudo node ./scripts/update-database.js
Yarnman Restart
cd /opt/yarnlab/yarnman
sudo node ./scripts/reset-node-pm2.js
Core Firewall Update to Allow Arm connectivity*
sudo ufw allow from <ip address of arm> to any proto tcp port 5984,5986
sudo ufw allow from <ip address of arm> to any proto tcp port 6379,6380
*Only required if Arm connected to Core
Step 4b - Arm Node
Perform these command for Arm node(s)
Stop CouchDB, Stop Redis and Reset yarnman as follows
CouchDB Stop
sudo systemctl stop redis
sudo systemctl stop couchdb
Update Stop
sudo systemctl disable redis
sudo systemctl disable couchdb
Yarnman Restart
cd /opt/yarnlab/yarnman
sudo node ./scripts/reset-node-pm2.js
Step 5a - Optional Change Core node IP
Only Perform this step if changing IP address
Step 5b - Optional Change Arm node IP
Only Perform this step if changing IP address
If any arm is upgraded - in the individual arm modify Local.Yaml file with IP address of core
sudo nano /opt/yarnlab/yarnman/config/local.yaml
modify the IP addresses to core address (in our example core address is 10.101.205.128, then Ctrl O Enter followed by Ctrl X to exit
Yarnman Restart
cd /opt/yarnlab/yarnman
sudo node ./scripts/reset-node-pm2.js