Make sure you’re prepared to spend two hours or so upgrading the system. There can be service interruptions, so also notify the customer and get their approval.
Check the system overal status:
ngcp-status --all
Check the system for locally modified files (move them to appropriate customtt.tt2 files if necessary):
ngcp-status --integrity
Try to find local changes to the template files by issuing:
find /etc/ngcp-config -name \*customtt.tt2
You will also need to find the dpkg-dist files under the templates files because people sometimes forget about creating customtt files and edit tt2 files directly. That makes upgrades not to replace the tt2 files. If so, you need to treat the tt2 files as if they were customtt files and make sure you merge the new templates with the changes of the old ones.
find /etc/ngcp-config -name \*.tt2.dpkg-dist
Also, please check/clean old dpkg backup files (just in case if previous person did the previous step not carefully enough). Normally the list should be empty:
find /etc/ngcp-config -name \*.tt2.dpkg\*
You will have to understand why the changes are there and if they are still needed after the upgrade. You should create a ticket in the bugtracker if there isn’t one yet.
Log into the two servers. Use their real IPs so you can switch the cluster forth and back later on. Make sure the cluster status is ok - on both nodes issue:
Slave_IO_Running: Yes Slave_SQL_Running: Yes Seconds_Behind_Master: 0
A cluster fail-over could be a good idea to see if everything works on the second node too. On the standby node issue:
/usr/share/heartbeat/hb_takeover
Afterwards again check monit, cl_status and ngcp-collective-check.
Create two test subscribers, or retrieve the credentials for two of them. Register a client to the platform and perform a test call between the two to ensure call routing works.
The sip:provider PRO system upgrade to mr4.2.2 will perform a couple of fundamental tasks:
So assuming you have a running sip:provider PRO system and want to upgrade it, start on the inactive node by upgrading software, then take over from the other node and then upgrade the other (now inactive) node, as detailed in the steps below.
Switch to new repositories
For upgrading the sip:provider PRO to the latest mr4.2.2 release, execute the following commands on both nodes:
NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version) sed -i "s/$NGCP_CURRENT_VERSION/mr4.2.2/" /etc/apt/sources.list.d/sipwise.list sed -i "s/wheezy/jessie/g" /etc/apt/sources.list.d/sipwise.list apt-get update apt-get install ngcp-upgrade-pro
Execute ngcp-upgrade
in inactive node as root:
ngcp-upgrade
sip:provider PRO can be upgraded to mr4.2.2 from previous release or previous build only. The script ngcp-upgrade will find all the possible destination releases for the upgrade and allow to choose the proper one. |
If there is an error during uphrade, the ngcp-upgrade script will request you to solve it. Once you’ve fixed the problem just re-execute |
Merge/add the custom configuration templates if needed. Apply the changes to configuration templates if any and send them to the shared storage and the other node:
ngcpcfg apply 'upgrade node' ngcpcfg push --nobuild --noapply
Promote inactive node to active.
/usr/share/heartbeat/hb_takeover
Go to the new inactive node. Run ngcp-upgrade.
ngcp-upgrade
When all finishes successfully check that replication is running. Check ngcp-status --all
.
Finally, do a basic functionality test. Check web interface, register two test subscribers and perform a test call between the two to ensure call routing works.
You can find a backup of some important configuration files of your existing installation under /var/backup/ngcp-mr4.2.2- (where * is a place holder for a timestamp) in case you need to roll back something at any time. A log file of the upgrade procedure is available at /var/backup/ngcp-mr4.2.2-/upgrade.log. |