Upgrading the Pexip Infinity platform

We have designed the upgrade process to minimize disruption. However, there may be some temporary loss of functionality or unpredictable system behavior due to Conferencing Nodes running conflicting software versions, or some Conferencing Nodes being placed in maintenance mode. For this reason, we recommend upgrading at a time of minimal usage.

The upgrade process

When you initiate an upgrade of the Pexip Infinity software, the following steps occur automatically:

  1. The Management Node software is upgraded, after which the Management Node automatically reboots.
  2. The first 10 Conferencing Nodes are put into maintenance mode. This means that all further incoming calls to those nodes will be rejected.

    (In Pexip Infinity deployments of 10 Conferencing Nodes or fewer, all of the nodes are placed into maintenance mode.)

  3. When all calls have cleared from a Conferencing Node that is in maintenance mode, its software is upgraded and the node is rebooted. This process should take around 2 minutes to complete, but may take longer depending on the connection speed between the Management Node and the Conferencing Node (as the upgrade files have to be transferred between the nodes).

    If all of the calls on a Conferencing Node that is in maintenance mode have not cleared after 1 hour, the node is taken out of maintenance mode and put at the back of the queue of nodes to be upgraded. A further attempt to upgrade that node will be made after all other nodes have been upgraded (or had upgrade attempts made).

  4. After a Conferencing Node has been upgraded successfully (or has been put back in the queue for a later upgrade attempt) and is again available, another Conferencing Node is selected and put into maintenance mode.
  5. The process continues with each subsequent Conferencing Node being put into maintenance mode, and, after all calls have cleared, being upgraded and then rebooted. Up to 10 Conferencing Nodes may simultaneously be in maintenance mode or in the process of being upgraded at any one time.

    Any Conferencing Nodes used for dynamic cloud bursting will be automatically started up and upgraded. Bursting nodes are normally selected for upgrade after the system has upgraded (or attempted to upgrade) the "always-on" nodes.

  6. If the upgrade of the Management Node and all Conferencing Nodes has not completed successfully after 24 hours, the process will stop and all nodes will be left in their existing upgrade state. This is designed to prevent situations where some Conferencing Nodes cannot be upgraded, which would otherwise leave the system in a permanent state of upgrading.

If the upgrade process does not complete successfully and stops after 24 hours, you may have a mix of upgraded and non-upgraded nodes. You will then need to repeat the upgrade process. During a repeat upgrade, only those nodes that have not already been upgraded will be included in the upgrade process.

During the 24-hour period from when an upgrade has been initiated, you cannot re-initiate an upgrade using the Administrator interface. If you must re-initiate an upgrade during this time, you must reboot the Management Node and then start the process again.

When to upgrade

While the upgrade is in progress, some Conferencing Nodes will be running the newer version of the software and some will be running the older version. These Conferencing Nodes will be incompatible until they are all again running the same version. This means that there may be instances where two endpoints dial the same Virtual Meeting Room alias but if they are routed to different Conferencing Nodes that are running different versions of the software, the two endpoints will be in different conferences. It may also mean that, if an endpoint is in an ongoing call on a node that is put into maintenance mode in preparation for an upgrade, some call functionality such as presentation sharing may be limited. For this reason, we recommend upgrading at a time of minimal usage.

Alternatively, to avoid unpredictable system behavior due to Conferencing Nodes running conflicting software versions, you may want to manually put all of your Conferencing Nodes into maintenance mode before initiating the upgrade process. This will allow all existing calls to finish, but will not admit any new calls. You should then actively monitor your Conferencing Nodes' status and manually take each node out of maintenance mode after it has been upgraded to the new software version, so that the system can start taking new calls again on those upgraded nodes.

Upgrading from version 27 to version 31.1

Please note, if you are running a software version between v22 and v26 inclusive, you must first upgrade to version 27 and then upgrade again to version 31.1, see Upgrading from versions 22-26 to version 31.1.

To upgrade Pexip Infinity software from v27 or later to v31.1:

  1. Before upgrading an on-premises deployment, we recommend that you use your hypervisor's snapshot functionality to take a full VMware/Hyper-V snapshot of the Management Node. You may also want to take a snapshot of each Conferencing Node, although depending on the size and complexity of your deployment it may be easier to simply redeploy these from the Management Node (after it has been rolled back) in the unlikely event that this is required.

    Before upgrading a cloud-based deployment (Azure, AWS, GCP or Oracle), you should backup the Management Node via Pexip Infinity's inbuilt mechanism (Utilities > Backup/Restore).

  2. Download the Pexip Infinity upgrade package for v31.1 from the Pexip download page.
  3. Before upgrading, ensure that all "always-on" Conferencing Nodes are powered on and are reachable (i.e. no Connectivity Loss errors), and are all running the same version from which you are upgrading. You do not need to power on any cloud bursting nodes.
  4. From the Pexip Infinity Administrator interface, go to Utilities > Upgrade.
  5. Select Choose File and browse to the location of the upgrade package.

  6. Select Continue. There will be a short delay while the upgrade package is uploaded.

    After the upgrade package has been uploaded, you are presented with a confirmation page showing details of the existing software version and the upgrade version.

  7. To proceed, select Start upgrade.

    You are taken to the Upgrade status page, showing the current upgrade status of the Management Node and all Conferencing Nodes (for a definition of each status, see Definition of upgrade statuses). This page automatically refreshes every 5 seconds.

  8. When the upgrade completes, all nodes will show a status of No upgrade in progress and have the new Installed version.

    • If a Conferencing Node fails to upgrade, for example if it remains on a Waiting for calls to clear status, it should be rebooted. The upgrade process will then continue as expected.
    • If the upgrade process completes and there are some nodes that have failed to upgrade, you can restart the upgrade process by uploading the upgrade package to the Management Node again via Utilities > Upgrade. This will skip over any nodes that have already been upgraded.
    • If you are using these instructions to first upgrade from v25.0 or v25.1 to version 27 before upgrading to version 31, due to a known issue it is possible that the upgrade will complete on the Management Node but not automatically proceed to the Conferencing Nodes. To resolve this issue, simply upload the upgrade package again via Utilities > Upgrade.
  9. If you have Pexip CVI for Microsoft Teams you must also upgrade your associated Teams Connector deployment in Azure to the same version as your Pexip Infinity deployment (including minor/"dot" releases).

    When upgrading your Teams Connector to version 31:

    New upgrade steps for version 31

    • Az module version: ensure that you are using Az module version 7.0.0 minimum and 8.3.0 maximum.
    • There are three new variables that allow you to use dedicated hosting plans for Azure functions and VNet integration:

      • The new variables are $FunctionsDedicatedHostingPlan, $EventHubSourceAddressPrefixes and $VnetIntegration and must be added to your variables script.
      • if you want to use the new features, set $FunctionsDedicatedHostingPlan and $VnetIntegration to $true, and specify the required IP addresses in the $EventHubSourceAddressPrefixes variable. The addresses specified in $EventHubSourceAddressPrefixes can also be added or modified later in Azure if required.
      • If you do not want to use the new features then you must add the following variable settings to your variables script:

        $FunctionsDedicatedHostingPlan = $false

        $EventHubSourceAddressPrefixes = @()

        $VnetIntegration = $false

    Standard upgrade steps

    • When upgrading from a previous major release (e.g. from v27.n to v31.1), you must use the latest version of the redeploy script as contained within the v31 documentation. You can use your existing redeploy script if you are upgrading to a new minor/ "dot" release for the same major version (e.g. from 31.0 to 31.1).

    • You must be using Az module version 7.0.0 minimum and 8.3.0 maximum.

      • To check your installed version you can run:
        Get-InstalledModule -Name Az -AllVersions

      • To install the latest appropriate Az version you can run:
        Install-Module -Name Az -MinimumVersion 7.0.0 -MaximumVersion 8.3.0 -AllowClobber -Scope AllUsers
    • If you (the person performing the upgrade) did not perform the initial installation, you should ensure that you have all the relevant PowerShell modules and versions installed. If you are connecting to Azure AD / Azure Resource Manager / Microsoft Graph from your Windows PC for the first time, you must run the following PowerShell commands (as Administrator):

      Install-Module -Name AzureAD -MinimumVersion

      Install-Module -Name Az -MinimumVersion 7.0.0 -MaximumVersion 8.3.0 -AllowClobber -Scope AllUsers

      Install-Module -Name Microsoft.Graph -MinimumVersion 1.9.2

      Note that:

      • The installation of Microsoft Graph PowerShell SDK can take 5-10 minutes. Wait until you the get PS prompt back (several minutes after the install reports as completed) before continuing.
      • The Az PowerShell module collects telemetry data (usage data) by default, however you can opt out from this data collection using Disable-AzDataCollection (see this article for more information).
      • The Az PowerShell module remembers login information by default (i.e. you're not automatically logged out when closing your PowerShell window), but you can disable this with Disable-AzContextAutosave if required (see this article for more information).
    • If you have deployed multiple Teams Connectors, you must follow the same redeploy process (with the appropriate variable initialization script) for each Teams Connector.
    • As with all upgrades, you can continue to use the Pexip CVI app from your existing deployment.
    • Your Pexip Infinity and Teams Connector installations must both be running the same software version (including minor/"dot" releases).

    Full instructions are available at Upgrading the Teams Connector to the latest software.

No additional actions are required to upgrade the Management Node or Conferencing Nodes individually.

We recommend that you take a fresh backup of your system after upgrading.

Error messages during upgrade

The following Error and Warning messages are expected during an upgrade and do not require any action:

2017-03-03T12:12:02.400+00:00 <manager_hostname> 2017-03-03 12:12:02,456 Level="ERROR" Name="administrator.system.connectivity" Message="Unable to contact node." Src-Node="<node_ip_fqdn>" Node="<node_ip_fqdn>"

2017-03-09T07:04:08.460+00:00 <manager_hostname> 2017-03-09 07:04:08,460 Level="WARNING" Name="administrator.alarm" Message="Alarm raised" Node="<node_ip_fqdn>" Alarm="connectivity_lost" Time="2017-03-09 07:04:08,455" Instance="Source=<node_ip_fqdn>, Destination=<node_ip_fqdn>" Detail=""

Upgrade prevented due to invalid licenses:

If you are upgrading from v27, in some cases you may be prevented from running the upgrade process and are shown a "This system includes active licenses that will not be valid after upgrade" message. This may occur if you still have legacy-style licenses. In this case contact your Pexip authorized support representative to obtain replacement license keys so that you can continue with the upgrade.

Upgrading from versions 22-26 to version 31.1

If you are running a software version between v22 and v26 inclusive, you must first upgrade to version 27 and then upgrade again to version 31.1. To do this:

  1. Before upgrading, ensure that all "always-on" Conferencing Nodes are powered on and are reachable (i.e. no Connectivity Loss errors), and are all running the same version from which you are upgrading. You do not need to power on any cloud bursting nodes.
  2. Download the Pexip Infinity v27 upgrade file.
  3. Follow the steps outlined in Upgrading from version 27 to version 31.1, but when asked to Choose File browse to the location of the v27 upgrade file.
  4. Verify that the upgrade has completed successfully.
  5. Download the Pexip Infinity v31.1 upgrade file.
  6. Follow the steps outlined in Upgrading from version 27 to version 31.1, and when asked to Choose File browse to the location of the v31.1 upgrade file.

Upgrading configuration-only deployments

The automatic upgrade process described above will update the Management Node and all Conferencing Nodes, including Conferencing Nodes that have been created using the configuration only deployment type.

However, if after the upgrade you wish to deploy new configuration-only Conferencing Nodes, you must download and use a version of the Conferencing Node VM template that matches the version of the Management Node that you have upgraded to. Creating a new Conferencing Node from a VM template containing a different version of the Pexip Infinity software than that which is running on the Management Node is not supported and will not work. For more information, see Deploying a Conferencing Node using a generic VM template and configuration file.

Definition of upgrade statuses

During an upgrade, the Upgrade status page will report the status of each Conferencing Node as follows:

Status Description
No upgrade in progress During a platform upgrade, this is the default state that occurs before a Conferencing Node is upgraded, or after the node has rebooted.
Upgrade pending An upgrade of the platform is in progress and this Conferencing Node is in the queue to be upgraded.
Preparing to upgrade The Conferencing Node is preparing to upgrade. During this time the node is put into maintenance mode, and other services are stopped.
Waiting for calls to clear The Conferencing Node is in maintenance mode and is waiting for existing conferences to complete.
Timeout waiting for calls to clear Not all conferences had cleared after 1 hour. This Conferencing Node has been removed from maintenance mode and the upgrade will be attempted again later.
Upgrade in progress The new software is being unpackaged and installed on the Conferencing Node. During this time the Conferencing Node will not synchronize configuration with the Management Node.
Rebooting The upgrade has completed and the Conferencing Node is rebooting.
Could not communicate with conferencing node This error is reported if the Conferencing Node cannot be contacted.

Downgrading or recovering from a failed upgrade

To downgrade your system to the previous version, or to recover your system after a failed upgrade:

  1. Restore the Management Node from the VM snapshot that you took using your hypervisor at the start of the upgrade process.
  2. Restore the individual Conferencing Nodes by either:
    • redeploying each Conferencing Node from the Management Node - see Deploying new Conferencing Nodes, or
    • restoring the hypervisor snapshot of each Conferencing Node that was taken at the start of the upgrade process.

Checking the installed version

Management Node

To view which software version is running on the Management Node, click on the About link at the top right corner of the Pexip Infinity Administrator interface.

Conferencing Nodes

To view which software version is running on individual Conferencing Nodes, go to Status > Conferencing Nodes. The software version number will be shown in the Installed version column.