Page History
Table of Contents |
---|
The stable release of CentOS 7 has reached its end of life. Therefore it was needed to move GreenLight to a new Operating System.
...
Note |
---|
|
...
What will be migrated
- Database
- Notes User ID and password file
- names. nsf
- license file
- general container config files
...
On New Appliance, please make sure that the following is checked and prepared:
Info |
---|
|
...
Info |
---|
|
Prepare New Appliance
The new appliance should most likely use much of the same fundamental container config as the old one.
Code Block |
---|
# Old Appliance: check for custom config (e.g. CORS settings, ...)
cat /opt/panagenda/appdata/gl/config |
This file may not exist, please create it on the new appliance if necessary. Attention on host name change!
Code Block |
---|
# New Appliance: update custom config based on entries from the old appliance
vim /opt/panagenda/appdata/gl/config |
You might stumble across a mistake here that we previously had in our config. Docker ignored it in the past, but now flags it and our app won’t start. Please check for this and correct!
1) These network config parameters are optional and will not be there in most customer installations. Our default subnets are 192.168.237.0 and 192.168.238.0 and they will come out of the config.default file. Should this subnet config exist in customer environments thought, we need to correct the subnet format and bring the two parameters along (DOCKER_BRIDGE + NETWORK_SUBNET)
2) There might also be a parameter PANAGENDA_DOCKER_STORAGE_DRIVER present. DO NOT copy this over. Just leave the whole line out. The new appliance has a much newer docker version with a new storage driver for performance and OS compatibility.
Code Block |
---|
# New Appliance: bring config changes into effect
gl start |
Check if everything comes up properly and the containers run normally (docker ps). If it looks good, you can check the postgres container if the subnet settings have been applied successfully.
Code Block |
---|
# New Appliance: check postgres container
docker inspect gl_postgres |
Near the end of the output you should see something like the following: "IPv4Address": "172.18.0.2"
Here the subnet config and the hosts individual IP come together.
Code Block |
---|
# Stop all containers, except postgres
docker stop gl_nginx gl_tomcat gl_data_miner gl_metabase gl_cron -t 120 |
Prepare Old Appliance
Please execute the following commands on the console of the old appliance
Code Block |
---|
# define the name of the postgres container
PGCONTAINER=gl_postgres
# create database user for the migration
docker exec -u postgres $PGCONTAINER psql postgres -c "CREATE ROLE migrator WITH SUPERUSER LOGIN REPLICATION PASSWORD 'panagenda'"
# check if listening properly
netstat -tlpn |
The last command should show 0 0.0.0.0:5432 in state LISTEN
Now, lets stop all containers (except the database) on the old appliance
Code Block |
---|
# Stop all containers, except postgres
docker stop gl_nginx gl_tomcat gl_data_miner gl_metabase gl_cron -t 120 |
Config Migration
On Old appliance: create the backup
Code Block |
---|
# go to volumes folder
cd /opt/panagenda/appdata/volumes/
# pack an archive with everything and store it in /root/
tar -czvf /root/appdata.tar.gz gl nginx ./notes/names.nsf ./notes/user.id* |
On New appliance: restore the backup
Code Block |
---|
# go to volumes folder
cd /opt/panagenda/appdata/volumes/
# rename default names.nsf
mv ./notes/names.nsf ./notes/names.orig_nsf
# copy the file over (replace OLDHOST with hostname/ip of the old appliance)
scp OLDHOST:/root/appdata.tar.gz /root/
# extract files (will be placed in correct folders automatically)
tar -xvzf /root/appdata.tar.gz
# clean-up (optional)
rm -f /root/appdata.tar.gz |
Database Migration
On New appliance
Execute the statements in this chapter from a command line via VNC if possible! (SSH sessions - putty - might be interrupted)
Code Block |
---|
# execute the DB Migration Script
/opt/panagenda/appdata/system/db-migration.sh |
- Select "2" - for GreenLight
- Enter "y" to confirm that you have a received already a new license file from panagenda
- Select "1" - to perform a full backup and restore
- Enter "y" to delete the default (empty) database on the new appliance
- Enter "y" to start Greenlight after the migration is complete
Whenever done, the new Appliance is up and running and you can make use of it.
The Old Appliance can be switched off
Start GL on new appliance
In case you have chosen that GreenLight should not start after the migration is complete (last item in the previoud chapter) you need to manually start it.
Code Block |
---|
# restart all GL containers:
gl start |