Upgrading from FreePBX 10.13.66 to SNG7

This script should only be used on PBXact and FreePBX 10.13.66-X systems and will take your system to the latest PBXact and FreePBX SNG7-PBX-64bit releases.

As this update performs base OS operations, it's highly recommended to perform a full backup of your system and moving these files to a secure location before you continue through this guide.

If your upgrade fails, you can run the recovery script to repair anything missing. Please see 'Recovering from a failed Upgrade' section.

Summary

This allows you to upgrade the Official Distro from 6 to SNG7, and in the process upgrade FreePBX (or PBXact etc) from 13 to 14.

Supported Platforms

  • FreePBX Distro

  • PBXact Distro

  • Other compatible distros

Prerequisites

  • 64bit Operating System on current machine (see note below)

  • At least 10gb of available space in /

  • Internet connectivity (about 200mb of data needs to be downloaded)

  • Not using Hyper-V as the hypervisor

SNG7 is a 64 bit only operating system. Unfortunately, It is not possible to convert a 32 bit operating system to 64 on the fly, If you are currently running a 32 bit operating system, the simplest way to upgrade is to use the FreePBX Conversion tool, which will allow you to do a live backup of a running machine and restore it to a new 14 machines.

Upgrading a Hyper-V system is explicitly blacklisted due to compatibility issues when changing from a Non-UEFI image to a UEFI capable image. The only way to upgrade a machine running on HyperV is to create a new machine, and then use the FreePBX Conversion Tool to migrate your complete machine to a new one.  This is not a destructive process, and can be run on a production machine at any time.

Preparation

The Upgrade is managed by a RPM.  Simply install the RPM with the  following command

yum -y install http://package1.sangoma.net/distro-upgrade-1807-2.sng7.noarch.rpm

Starting Upgrade

The RPM installed above creates the file 'distro-upgrade' which validates the machine, and then starts downloading the requirements.  This does not cause any outage, and can be run at any time. After installing this, you can reboot the machine at any time and the upgrade will be automatically started.

distro-upgrade

Output

[root@localhost ~]# distro-upgrade ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃                                            ┃ ┃        Sangoma 6 to 7 Upgrade Tool         ┃ ┃                                            ┃ ┃    Distro Upgrade - Version 1710-3.sng7    ┃ ┃    Build Date: 2017-10-28                  ┃ ┃                                            ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛    Checking prerequsites...         Checking bitsize of machine     [ ✔ ] - x86_64         Checking for 32 bit packages    [ ✔ ] - No i686 rpms found         Checking available disk space   [ ✔ ] - 56G Available         Checking for outdated system    [ ✔ ] - No pending updates.         Checking for HA Setup           [ ✔ ] - Not a HA system  All prerequsites passed!   Are you ready to upgrade your machine to SNG7? This process requires two reboots, and will download approximately 400mb of files before starting. There will be no interruption to service until this machine is rebooted.   Download files required for upgrade [Yn]?

Note that this can be run while the machine is up and processing calls. There is no outage until you reboot the machine. The speed of this is purely related to your internet connection speed. You may interrupt and restart the upgrade at any time, and it will resume downloading.

If there are any errors, do not continue! You must resolve the errors (instructions will be provided in the error message) before continuing. You can then re-run distro-upgrade to validate your machine is ready to be upgraded.

After you have passed all the tests, the download can be started by entering 'y' at the prompt.

Perform Update

First Reboot (Stage 1)

You need to reboot the machine, which will then perform the upgrade. The 'system upgrade' option will be automatically selected. You can select a previous kernel if you do not want to upgrade at this time.

 

After selecting 'System Upgrade' the machine will upgrade all the required packages

The speed of the upgrade depends on your machine.  Note that the package 'selinux-policy-targeted' will take a long period of time to run. This is expected, as it needs to check and possibly re-label every file on the system. 

When the first stage of the upgrade is finished, the machine will reboot and will continue the upgrade process.

Second Reboot (Stage 2)

After the Core OS has been upgraded, the machine will reboot into Stage 2, which finishes the upgrade.

 

Warning: If your machine has multiple network interfaces, it is possible that their names may change as part of the upgrade. If so, the machine will abort the upgrade and require you to fix this manually. If you are unable to fix this yourself, you should roll back to your backup, and contact support. 

This also upgrades all the PBX Modules

When the upgrade is finished you will be presented with a Login prompt, and you can log into your system.

 

Recovery from a failed upgrade

It is possible that due to unforeseen system configurations, the upgrade may fail.  This is often caused by unexpcted (and manually installed) RPMs on your machine. The first thing to try is to run the repair script, by pasting the following commands:

**DO NOT RUN on FreePBX 15 or newer, only for 13 to 14 upgrade failures**

**DO NOT RUN on FreePBX 15 or newer, only for 13 to 14 upgrade failures**

This will attempt to re-run the upgrade script. It will try harder to resolve any issues that may be found, and will be more verbose with errors if it can't.

Troubleshooting

Most problems can be solved by running 'yum update' and reading the errors. If there is an error about 'AAA conflicts with BBB, in package from XXX', you can simply 'rpm --erase --nodeps XXX', and run 'yum update' again. 

If you can not solve your problem, you will need to post the errors on the FreePBX Forums.

Unable to render {include} The included page could not be found.