Upgrade Modular Cluster Topology#

Read “Prepare for Upgrade” before proceeding.

Prior to Maintenance Window#

Verify Primary Database Node and Application Node#

  1. To verify the primary application node (UN2), run the following command on the node:

    cluster primary role application

    The output should be true, for example:

    platform@UN2:~$ cluster primary role application
    is_primary: true
    
  2. To verify the primary database node (UN1), run the following command on the node:

    cluster primary role database

    The output should be true, for example:

    platform@UN1:~$ cluster primary role database
    is_primary: true
    

Download and Check Files#

Ensure that the .iso file is available on all nodes.

Steps

Status

  1. Go to the download location for VOSS files (where XXX is the release number):

    https://voss.portalshape.com > Downloads > VOSS Automate > XXX > Upgrade

  2. Download the relevant .iso and .template files.

  3. Transfer the files, using either SFTP or SCP:

    • Transfer the .iso file to the media/ folder of all nodes.

    • Transfer the .template file to the media/ folder of the primary application node.

    Transfer using SFTP:

    sftp platform@<unified_node_hostname>
    cd media
    put <upgrade_iso_file>
    put <upgrade_template_file>
    

    Transfer using SCP:

    scp <upgrade_iso_file> platform@<unified_node_ip_address>:~/media
    scp <upgrade_template_file> platform@<unified_node_ip_address>:~/media
    
  4. Verify that the .iso image and .template file copied:

    ls -l media/

  5. Verify that the original .sha256 checksums on the Download site match:

    • Primary database node, run: system checksum media/<upgrade_iso_file>

      Checksum: <SHA256>

    • Primary application node, run: system checksum media/<upgrade_template_file>

      Checksum: <SHA256>

Version Check#

In this step you’ll verify and make a note for the current version information, which is required for upgrade troubleshooting.

Note

Also verify VMWare, Cloud Deployments, and Application version compatibility, as indicated in the Compatibility Matrix.

Steps

Status

  1. Log in to the Admin Portal.

  2. Go to About > Version.

  3. Make a note of the system version information.

Maintenance Window#

Security and Health Check#

Steps

Status

  1. Choose an option:

    If upgrading from [21.4-PB4, 21.4-PB5]:

    Place the system in maintenance mode and suspend any scheduled transactions. On an application node of the system, run the following command:

    cluster maintenance-mode start

    In-progress scheduled transactions will be allowed to complete, else, cancel data sync transactions that are in progress on the GUI. See System Maintenance Mode in the Platform Guide.

    Verify maintenance mode status: cluster maintenance-mode status

    If upgrading from [21.4, 21.4-PB1, 21.4-PB2, 21.4-PB3]:

    Turn off any scheduled imports to prevent syncs triggering part way through the upgrade, either individually for each job, or mass modify:

    Note

    Schedules can easily be activated and deactivated via the Bulk Schedule Activation / Deactivation menu (available on the MVS-DataSync-Dashboard).

    • Individually for each job:

      1. Log in on the Admin Portal as a high level admin (above Provider).

      2. Select the Scheduling menu to view scheduled jobs.

      3. For each scheduled job, on the Base tab, clear the Activate checkbox to

        disable this setting.

    • Mass modify:

      1. In the Admin Portal, export scheduled syncs into a bulk load sheet.

      2. Modify schedule settings to de-activate scheduled syncs.

      3. Import the sheet.

    Turn off schedules enabled on the CLI:

    • Run schedule list to check if any schedules exist and overlap with the maintenance window.

    • For overlapping schedules run schedule disable <job-name> to disable.

Steps

Status

  1. Verify that the primary database node is the active primary node at the time of upgrade: database config

  2. Ensure that the node on which installation will be initiated has the stateStr parameter set to PRIMARY and has the highest priority number.

    The highest priority number could vary depending on cluster layout.

    Example output

    <ip address>:27020:
    priority: <number>
    stateStr: PRIMARY
    storageEngine: WiredTiger
    
  3. This step checks if a CSR private key exists but no associated signed certificate is available. This step is required ONLY if own private certificate and generated SAN certificates are required and the web cert gen_csr command was run. For details, see Web Certificate Setup Options in the Platform Guide.

The steps below are needed to check if a CSR private key exists but no associated signed certificate is available.

Request VOSS support to run the following command (displayed for information only):

if [ -d /opt/platform/apps/nginx/config/csr/ ] ;
then
  for LST in /opt/platform/apps/nginx/config/csr/*;
  do
    openssl x509 -in $LST -text -noout >/dev/null 2>&1 && SIGNED="$LST";
  done;
  echo $SIGNED;
else:
  echo "No further action required";
fi

If the echo $SIGNED command output is blank, back up the csr/ directory with for example the following command:

mv /opt/platform/apps/nginx/config/csr/ /opt/platform/apps/nginx/config/csrbackup

Validate System Health#

Important

Before starting the upgrade, ensure that the hardware version of each of your virtual machines (VMs) is at least version 11, compatible with ESXi 6.0 and up, and that your host CPU supports AVX (Advanced Vector Extensions).

A check cluster command in the Automate pre-upgrade steps checks for AVX support. To ensure that AVX support is added to the VMs, you’ll need to upgrade the compatibility of the VM in vCenter.

Steps

Status

  1. Mount upgrade ISO: system mount

  2. Install the new version of the cluster check command: app install check_cluster

    See Cluster Check
  3. Inspect the output of this command for warnings: cluster check

    You can also use cluster check verbose for more details for example, to check that avx is enabled. Review and resolve any warnings or errors before proceeding with the upgrade. Contact VOSS Support for assistance, if required.

    For troubleshooting and resolutions, also see the Health Checks for Cluster Installations Guide and the Platform Guide.

    If there is any sign that the paths below are over 80% full, a clean-up is required, for example, to avoid the risk of full logs occurring during upgrade:

    • / - Contact VOSS Support if over 80%

    • /var/log - Run log purge

    • /opt/platform - Remove any unnecessary files from /media directory

    • /tmp - Reboot

  4. On the primary application node, verify that there are no pending security updates on any of the nodes.

    If you run cluster status after installing the new version of cluster check, any error message regarding a failed command can be ignored. This error message will not show after upgrade.

Pre-Upgrade#

Steps

Status

  1. Obtain a suitable restore point as part of the rollback procedure (as per the guidelines for the infrastructure on which the VOSS Automate platform is deployed)

    Optionally, if a backup is also required, use the following commands on the primary database node:

    backup add <location-name>
    backup create <location-name>
    

    For details, see the Platform Guide

  2. Validate system health and check all services, nodes, and weights for the cluster:

    • Run cluster run application cluster list, and ensure that all application nodes show.

    • Run cluster check, then inspect the output of this command for warnings and errors.

      You can use the cluster check verbose command to see more details.

      • Ensure that no services are stopped/broken. Note that the following message is normal on fresh database nodes: “suspended waiting for mongo”

      • Important! Check that the database weights are set before upgrading a cluster.

        Example output:

        172.29.21.240:
            weight: 80
        172.29.21.241:
            weight: 70
        172.29.21.243:
            weight: 60
        172.29.21.244:
            weight: 50
        
    • Verify the primary node in the primary site and ensure no nodes are in the recovering state (stateStr is not RECOVERING).

  3. On the primary application node, run the following command to verify that there are no pending security updates on any of the nodes:

    cluster run all security check

Upgrade#

It is recommended that the upgrade steps are run in a terminal opened with the screen command.

By default, the cluster upgrade is carried out in parallel on all nodes and without any backup in order to provide a fast upgrade.

Note

For systems upgrading to 24.2 from 21.4.0 - 21.4-PB5, the VOSS platform maintenance mode starts automatically when running cluster upgrade. This prevents any new occurrences of scheduled transactions, including the 24.2 database syncs associated with insights sync. For details, see Insights Analytics in the Platform Guide.

The cluster maintenance-mode stop command must however be run manually after the maintenance window of the upgrade: End of Maintenance Window and Restore Schedules.

For details on the VOSS platform maintenance mode, see Maintenance Mode in the Platform Guide.

Steps

Status

  1. Verify that the ISO has been uploaded to the media/ directory on each node. This speeds up the upgrade time.

    On the primary database node, run the following commands:

    screen
    cluster upgrade media/<upgrade_iso_file>
    
  2. Ctrl + a, then \ to close screen.

  3. Log in on the primary database node, then run:

    cluster run database app status

    If the report shows insights-voss-sync:realtime stopped on some database contact VOSS Support for assistance to perform the following on the primary database node (displayed for information only):

    1. Run /opt/platform/mags/insights-voss-sync-mag-script install database

      The output should be: Configured Postgres secrets

    2. Verify that the database nodes now all have the correct mongo info:

      cluster run database diag config app insights-voss-sync /mongo

      All nodes should have the password/port/user shown as below:

      mongo:
         password: ********
         port: 27020
         user: insights-platform
      
    3. Restart the insights-voss-sync:real-time service on all database nodes:

      cluster run database app start insights-voss-sync:real-time

Note

All unused docker images except selfservice and voss_ubuntu images will be removed from the system at this stage.

Post-Upgrade and Health Steps#

Steps

Status

  1. Check for required security updates. On the primary application node, run cluster run all security check

  2. If security updates are required on any nodes, run the following on the primary application node: cluster run all security update

    If upgrading a Cloud deployment (Microsoft Azure or AWS), run cluster check.

    Note

    If the grub-pc: package in an undesired state error displays at each node, contact VOSS Support for assistance. Support runs the following command on each node (displayed for informational purposes only):

    dpkg --configure -a

    Follow the prompts that display in the text window:

    1. At GRUB install devices, do not select any device. Press <Tab> to highlight, then <Ok>, and then press <Enter>.

    2. At Continuing without installing GRUB?, press <Yes>.

    3. Run cluster check again, and verify the error no longer displays.

  3. If the system does not automatically reboot and you need to reboot manually:

    1. Run cluster run notme system reboot. You can ignore the following node messages: <node name> failed with timeout.

    2. Run system reboot. This takes some time because all services are stopped.

  4. Verify cluster status. On the primary node, run cluster check.

  5. If any errors display, run cluster run all diag health for details that may help with troubleshooting.

  6. To remove a mount directory (media/<iso_file basename>) on nodes that may have remained, after an upgrade for example, run the following on the primary database node: cluster run all app cleanup

  7. If the upgrade succeeds, type exit in the terminal to close the screen session.

    If there are errors, keep the screen terminal open for troubleshooting and contact VOSS Support.

Database Schema Upgrade#

It is recommended that the upgrade steps are run in a terminal opened with the screen command.

Steps

Status

  1. On the primary application node, run the following:

    screen
    voss upgrade_db
    
  • voss upgrade_db

  1. Check cluster status: cluster check

Template Upgrade#

It is recommended that the upgrade steps are run in a terminal opened with the screen command.

Steps

Status

  1. On the primary application node, run the following commands:

    screen
    app template media/<VOSS Automate.template>
    
  2. View the message that displays:

    Running the DB-query to find the current environment's
    existing solution deployment config ...
    
  3. View progress:

    • Python functions are deployed.

    • System artifacts are imported.

    Note

    To perform fewer upgrade steps, updates of instances of some models are skipped, where:

    • data/CallManager instance does not exist as instance in data/NetworkDeviceList

    • data/CallManager instance exists, but data/NetworkDeviceList is empty

    • Call Manager AXL Generic Driver and Call Manager Control Center Services match the data/CallManager IP

    • The template upgrade automatically detects the deployment mode, Enterprise or Provider. A system message displays for the selected deployment mode:

      Importing EnterpriseOverlay.json
      
      Importing ProviderOverlay.json
      
    • The template install automatically restarts necessary applications. If a cluster is detected, the installation propagates changes throughout the cluster.

Steps

Status

  1. Review the output from the app template command and confirm that the upgrade message displays:

    Deployment summary of PREVIOUS template solution
    (i.e. BEFORE upgrade):
    -------------------------------------------------
    
    Product: [PRODUCT]
    Version: [PREVIOUS PRODUCT RELEASE]
    Iteration-version: [PREVIOUS ITERATION]
    Platform-version: [PREVIOUS PLATFORM VERSION]
    

    This is followed by updated product and version details:

    Deployment summary of UPDATED template solution
    (i.e. current values after installation):
    -----------------------------------------------
    
    Product: [PRODUCT]
    Version: [UPDATED PRODUCT RELEASE]
    Iteration-version: [UPDATED ITERATION]
    Platform-version: [UPDATED PLATFORM VERSION]
    
  1. If no errors are indicated, create a restore point.

    As part of the rollback procedure, ensure that a suitable restore point is obtained prior to the start of the activity, as per the guidelines for the infrastructure on which the VOSS Automate platform is deployed.

    For unsupported upgrade paths, the install script stops with the message:

    Upgrade failed due to unsupported upgrade path.
    Please log in as sysadmin and see Transaction logs for more detail.
    
    You can roll back as per the guidelines for the infrastructure on which the
    VOSS Automate platform is deployed.
    

    If there are errors for another reason, the install script stops with a failure message listing the problem. Contact VOSS Support.

Steps

Status

  1. On the primary application node, run the following command to verify that the extra_functions have the same checksum across the cluster:

    cluster run application voss get_extra_functions_version -c

  2. For post-upgrade migrations, run the following command on a single application node of a cluster:

    voss post-upgrade-migrations

    Data migrations that are not critical to system operation can have significant execution time at scale. These need to be performed after the primary upgrade, allowing the migration to proceed while the system is in use - thereby limiting upgrade windows.

  1. View transaction progress. A transaction is queued on VOSS Automate and its progress displays as it executes.

  2. On the primary database node, check cluster status and health:

    cluster status

Post Template Upgrade#

Steps

Status

  1. Verify the upgrade:

    • Log in on the Admin Portal, and check version details in About > Version.

    • Confirm that versions are upgraded (where “XXX” is the release version).

      • Release should display XXX

      • Platform Version should display XXX

  2. Check that themes on all roles are set correctly.

  3. For configurations using Northbound Billing Integration (NBI), check the service status of NBI, and restart if necessary.

Log Files and Error Checks#

Steps

Status

  1. Inspect the output of the command line interface for upgrade errors, for example, File import failed! or Failed to execute command.

  2. On the primary application node, use the log view command to view any log files indicated in the error messages. For example, run this command if the following message displays:

    For more information refer to the execution log file with
    ``log view platform/execute.log``
    

    If required, send all the install log files in the install directory to an SFTP server:

    log send sftp://x.x.x.x install

  3. Log in on the Admin Portal as system level admin, then go to Administration Tools > Transaction, and inspect the transaction list for errors.

Post Maintenance Window#

End of Maintenance Window and Restore Schedules#

Steps

Status

  1. On the CLI, when upgrading to 24.2 from 21.4 or 21.4.-PBx., run the following command to end the VOSS maintenance mode:

    cluster maintenance-mode stop

    Scheduled data sync transactions can now resume, including insights sync operations added in 24.1. For details on the VOSS platform maintenance mode, see Maintenance Mode in the Platform Guide.

  2. Restore schedules:

    Schedules can easily be activated and deactivated from the Bulk Schedule Activation / Deactivation menu available on the MVS-DataSync-Dashboard.

    If you’re upgrading from [21.4, 21.4-PB1, 21.4-PB2, 21.4-PB3]:

    Re-enable scheduled imports if any were disabled prior to the upgrade. There are two ways to do this, either individually for each job, or mass modify:

    • Individually for each job:

      1. Log in on the Admin Portal as a high level admin (above Provider level).

      2. Select the Scheduling menu to view scheduled jobs.

      3. Click each scheduled job, and on the Base tab, select the Activate checkbox.

    • Mass modify:

      1. Modify the exported sheet of schedules to activate scheduled syncs.

      2. Import the sheet.

        If you don’t want to execute schedules overlapping the maintenance window but only execute afterwards, select Skip next execution.

    For schedules enabled on the CLI, enable any disabled schedules that were overlapping the maintenance window:

    schedule enable <job-name>

Licensing#

The Automate deployment requires a license. After installation, a 7-day grace period is available to license the product.

Since license processing is only scheduled every hour, if you wish to license immediately, first run voss check-license from the primary application node CLI.

Steps

Status

  1. Obtain the required license token from VOSS.

  2. Apply the license:

    • If applying a license via the GUI, follow the steps indicated in the Product License Management section of the Core Feature Guide.

    • If applying a license through the CLI, follow the steps indicated in Product Licensing in the Platform Guide.

Mount the Insights Disk#

Steps

Status

  1. On each database node, assign the insights-voss-sync:database mount point to the drive added for the Insights database prior to upgrade.

    For example, if drives list shows the added disk as …

    Unused disks:
    sde
    

    Then run the following command on each unified node where the drive has been added:

    drives add sde insights-voss-sync:database

    Sample output:

    $ drives add sde insights-voss-sync:database
    Configuration setting "devices/scan_lvs" unknown.
    Configuration setting "devices/allow_mixed_block_sizes" unknown.
    WARNING: Failed to connect to lvmetad. Falling back to device scanning.
    71ad98e0-7622-49ad-9fg9-db04055e82bc
    Application insights-voss-sync processes stopped.
    Migrating data to new drive - this can take several minutes
    Data migration complete - reassigning drive
    Checking that /dev/sde1 is mounted
    Checking that /dev/dm-0 is mounted
    /opt/platform/apps/mongodb/dbroot
    Checking that /dev/sdc1 is mounted
    /backups
    
    Application services:firewall processes stopped.
    Reconfiguring applications...
    Application insights-voss-sync processes started.
    

    Note

    The following message can be ignored on release 24.1: Warning: Failed to connect to lvmetad. Falling back to device scanning.

  2. With release 24.2, the initial management of dashboards on the GUI and use of VOSS Wingman is available after the first scheduled delta-sync of data - which is scheduled to run every 30 minutes. No manual sync is therefore required after upgrade.

    For details, see the Insights Analytics section of the Platform Guide.