The sip:provider PRO version mr4.5.8 has several important changes comparing to the previous release. Please find the complete changelog in our release notes on our WEB site.
Make sure that all the SIP domains and peering servers have appropriate rtp_interface option (e.g. ext) selected in the NAT and Media Flow Control section. If you leave default there, then incorrect network interface may be used for sending and receiving RTP media after the software upgrade. |
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.
Run "apt-get update", ensure you have no warnings/errors here.
Installation may use locally specified mirrors. Discuss with a customer possibility to switch on Sipwise APT repositories (at least for the time of upgrades), the public Debian mirrors may not provide packages for old Releases anymore or be at least outdated! |
ensure you have read and performed all the steps described in the section "Preparing for a Software Upgrade" above! |
The sip:provider PRO system upgrade to mr4.5.8 will perform a couple of fundamental steps:
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.
To specify the new list of APT data sources, execute the following commands on both nodes:
NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version) sed -i "s/$NGCP_CURRENT_VERSION/mr4.5.8/" /etc/apt/sources.list.d/sipwise.list
Do not use "ngcpcfg apply/build" after executing the above commands, as otherwise the changes will be overwritten and you will have to redo this step. |
To download the new packages into the approx cache, execute the following command on the standby node. This will ensure that both nodes have identical packages:
ngcp-approx-cache-helper --auto --node localhost
Run the following commands on both nodes to install the package responsible for upgrading C5 to a newer release:
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.5.8 from previous release or previous build only. The script ngcp-upgrade will find all the possible target releases for the upgrade and allow to choose the proper one. |
If there is an error during upgrade, the ngcp-upgrade script will request
you to solve it. Once you’ve fixed the problem just re-execute |
The upgrade script will ask you to confirm that you want to start. Read the given information carefully, and if you agree, proceed with y.
The upgrade process will take several minutes, depending on your network connection and server performance. After everything has been updated successfully, it will finally ask you to reboot your system. Confirm to let the system reboot (it will boot with an updated kernel).
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
Execute on inactive node as root:
/usr/share/heartbeat/hb_takeover
Go to the new inactive node. Run ngcp-upgrade, as root:
ngcp-upgrade
The upgrade script will ask you to confirm that you want to start. Read the given information carefully, and if you agree, proceed with y.
The upgrade process will take several minutes, depending on your network connection and server performance. After everything has been updated successfully, it will finally ask you to reboot your system. Confirm to let the system reboot (it will boot with an updated kernel).
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 them to ensure call routing works.
You can find a backup of some important configuration files of your existing installation under /var/backup/ngcp-mr4.5.8-* (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.5.8-*/upgrade.log. |
ensure you have read and performed all the steps described in the section "Preparing for a Software Upgrade" above! |
The sip:provider PRO system upgrade to mr4.5.8 will perform a couple of fundamental steps:
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.
ensure you are using Sipwise APT repositories. Public Debian mirrors may not provide packages for old Debian releases anymore. Also they can be outdated. Consider to use Sipwise repositories for the time of upgrade. Discuss with a customer the situation here and ensure Sipwise IPs are open on firewalls. |
To switch on sipwise APT source lists, execute the following commands as root:
echo "# Please visit /etc/apt/sources.list.d/ instead." > /etc/apt/sources.list mkdir -p /etc/apt/sources.list.d for file in /etc/apt/sources.list.d/*.list ; do mv "${file}" "${file}.DISABLED" ; done NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version) cat > /etc/apt/sources.list.d/debian.list << EOF ## custom sources.list, deployed via upgrade ${NGCP_CURRENT_VERSION}->mr4.5.8 # # Debian repositories deb http://debian.sipwise.com/debian/ wheezy main contrib non-free #deb-src http://debian.sipwise.com/debian/ wheezy main contrib non-free # deb http://debian.sipwise.com/debian-security/ wheezy-security main contrib non-free #deb-src http://debian.sipwise.com/debian-security/ wheezy-security main contrib non-free # deb http://debian.sipwise.com/debian/ wheezy-updates main contrib non-free #deb-src http://debian.sipwise.com/debian/ wheezy-updates main contrib non-free EOF NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version) cat > /etc/apt/sources.list.d/sipwise.list << EOF # NGCP_MANAGED_FILE - do not remove this line if it should be automatically handled # # Sipwise repository deb http://deb.sipwise.com/sppro/${NGCP_CURRENT_VERSION}/ wheezy main #deb-src http://deb.sipwise.com/sppro/${NGCP_CURRENT_VERSION}/ wheezy main EOF
Run "apt-get update" and ensure you have no warnings/errors here.
For upgrading the sip:provider PRO to the latest mr4.5.8 release, execute the following commands on both nodes:
NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version) sed -i "s/$NGCP_CURRENT_VERSION/mr4.5.8/" /etc/apt/sources.list.d/sipwise.list sed -i 's/wheezy/jessie/g' /etc/apt/sources.list.d/sipwise.list rm -f /etc/apt/sources.list.d/dell.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.5.8 from previous release or previous build only. The script ngcp-upgrade will find all the possible target releases for the upgrade and allow to choose the proper one. |
If there is an error during upgrade, the ngcp-upgrade script will request
you to solve it. Once you’ve fixed the problem just re-execute |
The upgrade script will ask you to confirm that you want to start. Read the given information carefully, and if you agree, proceed with y.
The upgrade process will take several minutes, depending on your network connection and server performance. After everything has been updated successfully, it will finally ask you to reboot your system. Confirm to let the system reboot (it will boot with an updated kernel).
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
Execute on inactive node as root:
/usr/share/heartbeat/hb_takeover
Go to the new inactive node. Run ngcp-upgrade, as root:
ngcp-upgrade
The upgrade script will ask you to confirm that you want to start. Read the given information carefully, and if you agree, proceed with y.
The upgrade process will take several minutes, depending on your network connection and server performance. After everything has been updated successfully, it will finally ask you to reboot your system. Confirm to let the system reboot (it will boot with an updated kernel).
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 them to ensure call routing works.
You can find a backup of some important configuration files of your existing installation under /var/backup/ngcp-mr4.5.8-* (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.5.8-*/upgrade.log. |