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

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.

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:

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.

No labels

9 Comments

I had to also perform yum update before I could let it rip. the distro-upgrade told me that there were pending updates. I was able to get the pending yum update executed, and re-ran distro-upgrade and them it was able to continue after the prerequisites were met.

Unfortunately I'm getting what seems to be a sysadmin license error after the process completes. Unfortunately I didn't grab the upgrade logs to submit as I ran out of time this morning and had to revert back to my snapshot to get the phones up and running again. I will be doing some additional testing this weekend and will grab the logs then.

This morning I disabled the SysAdmin and Endpoint modules before doing the upgrade (I did not remove them, only disabled them). The upgrade completed, and phone functionality was restored, however the web GUI would not load. Something was causing Apache to fail loading.

Console access did not give me any errors either, until I ran the command to re-enable all disabled modules, and then I got the same PHP error from the screenshot above.

As another test, I reverted back to my snapshot and tried the upgrade again, this time with the SysAdmin module enabled (and Endpoint disabled). Phone functionality failed and I received the same PHP error as above.

You mentioned above "as part of the upgrade we remove all commercial modules", but I'm wondering if I should remove the two I have before I even attempt the update.