3. Upgrading from previous versions

3.1. Upgrade from previous versions to mr3.8.8
3.2. Upgrade from previous 2.8 LTS version to mr3.8.8

3.1. Upgrade from previous versions to mr3.8.8

The sip:provider CE system upgrade to mr3.8.8 will be performed in a couple of tasks:

  1. Verify APT source lists
  2. Upgrade NGCP software packages
  3. Upgrade NGCP configuration templates
  4. Upgrade base system within Debian (v7) to latest package versions
[Warning]

ensure you are using Sipwise APT repositories. Public Debian mirrors may not provide packages for old Debian releases anymore.

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}->mr3.8.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/spce/${NGCP_CURRENT_VERSION}/ wheezy main
#deb-src http://deb.sipwise.com/spce/${NGCP_CURRENT_VERSION}/ wheezy main
EOF

Run "apt-get update" and ensure you have no warnings/errors here.

For upgrading the sip:provider CE to release mr3.8.8, execute the following commands:

NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version)
sed -i "s/$NGCP_CURRENT_VERSION/mr3.8.8/" /etc/apt/sources.list.d/sipwise.list
apt-get update
apt-get install ngcp-upgrade-mr3.8.8-ce
[Note]

sip:provider CE can be upgraded to mr3.8.8 from 2.8 LTS or mr3.7* (previous release) only, otherwise you will get an error "Unable to locate package ngcp-upgrade-mr3.8.8-ce" (in this case, you need to upgrade sip:provider CE to previous release first).

Run the upgrade script as root like this:

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).

Once up again, double-check your config file /etc/ngcp-config/config.yml (sections will be rearranged now and will contain more parameters) and your domain/subscriber/peer configuration and test the setup. You can find a backup of some important configuration files of your existing installation under /var/backup/ngcp-mr3.8.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-mr3.8.8-*/upgrade.log.

[Note]

sip:provider CE mr3.8.8 requires at least 2GB of RAM available as the minimum requirements of the installation section, otherwise certain features won’t work and you will run into arbitrary issues.

3.2. Upgrade from previous 2.8 LTS version to mr3.8.8

The sip:provider CE system upgrade from 2.8 LTS version to mr3.8.8 LTS version will be performed in a couple of tasks:

  1. Verify APT source lists
  2. Upgrade Debian from 6.0 to 7.0.
  3. Upgrade NGCP software packages
  4. Upgrade NGCP configuration templates
  5. Upgrade base system within Debian (v7) to latest package versions
[Warning]

ensure you are using Sipwise APT repositories. All public Debian mirrors do not provide squeeze packages anymore! 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}->mr3.8.8
#
# Debian repositories
deb http://debian.sipwise.com/debian/ squeeze main contrib non-free
#deb-src http://debian.sipwise.com/debian/ squeeze main contrib non-free
#
deb http://debian.sipwise.com/debian-security/ squeeze-security main contrib non-free
#deb-src http://debian.sipwise.com/debian-security/ squeeze-security main contrib non-free
#
deb http://debian.sipwise.com/debian/ squeeze-updates main contrib non-free
#deb-src http://debian.sipwise.com/debian/ squeeze-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/spce/${NGCP_CURRENT_VERSION}/ squeeze main
#deb-src http://deb.sipwise.com/spce/${NGCP_CURRENT_VERSION}/ squeeze main
#
# Sipwise squeeze backports
deb http://deb.sipwise.com/squeeze-backports/ squeeze-backports main
#deb-src http://deb.sipwise.com/squeeze-backports/ squeeze-backports main
#
# Debian's squeeze-lts, using Sipwise' mirror
deb http://debian.sipwise.com/debian/ squeeze-lts main
#deb-src http://debian.sipwise.com/debian/ squeeze-lts main
#
# Percona's high performance mysql builds
deb http://deb.sipwise.com/percona/ squeeze main
#deb-src http://deb.sipwise.com/percona/ squeeze main
EOF

Run "apt-get update" and ensure you have no warnings/errors here.

[Warning]

be sure you are using the latest 2.8 LTS version before upgrading to mr3.8.8 LTS version. mr3.8.8 LTS version uses new repository GPG key which should be installed in 2.8 LTS version before further upgrade to mr3.8.8 LTS version. For upgrading the 2.8 LTS version to the latest 2.8 packages version, execute the following commands as root:

apt-get update && apt-get upgrade && \
ngcp-update-db-schema && ngcp-update-cfg-schema && \
ngcpcfg apply
[Note]

re-check you have all the latest packages installed (ensure you have 0 everywhere below):

> apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

For upgrading the sip:provider CE from 2.8 LTS version to mr3.8.8 LTS release, execute the following commands as root:

NGCP_CURRENT_VERSION=$(cat /etc/ngcp_version)
sed -i "s/$NGCP_CURRENT_VERSION/mr3.8.8/" /etc/apt/sources.list.d/sipwise.list
sed -i '/squeeze-lts/d'     /etc/apt/sources.list.d/sipwise.list
sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list.d/sipwise.list
apt-get update
apt-get install ngcp-upgrade-mr3.8.8-ce
[Note]

sip:provider CE can be upgraded to mr3.8.8 from 2.8 LTS or mr3.7* (previous release) only, otherwise you will get an error "Unable to locate package ngcp-upgrade-mr3.8.8-ce" (in this case, you need to upgrade sip:provider CE to previous release first).

Run the upgrade script as root like this:

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).

Once up again, double-check your config file /etc/ngcp-config/config.yml (sections will be rearranged now and will contain more parameters) and your domain/subscriber/peer configuration and test the setup. You can find a backup of some important configuration files of your existing installation under /var/backup/ngcp-mr3.8.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-mr3.8.8-*/upgrade.log.

[Note]

mr3.8.8 LTS release has several major changes comparing to previous 2.8 LTS release:

  1. Upgrade Debian from 6.0 to 7.0
  2. sip:provider CE mr3.8.8 requires at least 2GB of RAM available as the minimum requirements for new WEB interface, otherwise certain features won’t work and you will run into arbitrary issues.
  3. Migrated from SOAP to REST API. SOAP API is disabled by default after upgrade and will be completely removed in mr4.0+
  4. Migrated from Apache to Nginx. Apache and related packages will NOT be deleted during upgrade. However it is highly recommended to migrate customer specific VirtualHosts (if any) from Apache to Nginx and remove Apache and related packages from sip:provider CE system after upgrade manually. You can use the following command as root:
apt-get purge apache2 apache2.2-common apache2-utils apache2.2-bin && apt-get autoremove