Upgrading Cisco ACI Multi-Site Orchestrator

This chapter contains the following sections:

Upgrading Cisco ACI Multi-Site Orchestrator Guidelines

Before you upgrade your Cisco ACI Multi-Site Orchestrator to Release 2.0(1) or later, you must:
  • Ensure that you have upgraded the Cisco APICs in each site to Release 4.0(1) before upgrading Cisco ACI Multi-Site Orchestrator.

    Cisco ACI Multi-Site does not support different APIC release versions in different sites for extended operation. Mixed APIC Release 3.2(x) and 4.0(x) deployments are supported for a limited duration during the entire Multi-Site fabric upgrade process. During this mixed operation, Cisco ACI Multi-Site Orchestrator must continue to run the version that is supported by the earliest APIC Release.

  • Ensure that you are running at least Cisco ACI Multi-Site Orchestrator, Release 1.2(1). If you are running an earlier release, you must first upgrade it as described in Upgrading Cisco ACI Multi-Site Orchestrator to Release 1.2(x) .

  • Ensure that your current Cisco ACI Multi-Site Orchestrator installation is running properly and each node in the cluster has at least 15 GB of free disk space.

  • Ensure that all Cisco ACI Multi-Site Orchestrator node VMs have been upgraded to any new minimum CPU and RAM requirements that are listed in Deploying Cisco ACI Multi-Site Orchestrator Guidelines.


    Note

    When upgrading the virtual machines:

    • It is recommended that all virtual machine CPU and RAM changes are done when the VM is powered down, as such we recommend updating the VMs one at a time to ensure that the cluster remains available.

    • Do not change the hard disk size of the Cisco ACI Multi-Site Orchestrator VMs.


You can upgrade Cisco ACI Multi-Site Orchestrator in two ways, using Python or upgrade.sh script. While all versions can be upgraded using upgrade.sh, we recommend using the Python script for upgrading to Release 2.0(1) or later as it automates several manual steps and supports remote execution of the upgrades.

Upgrading Cisco ACI Multi-Site Orchestrator Using Python

The following sections describe how to prepare for and upgrade Cisco ACI Multi-Site Orchestrator using Python.

Setting Up Python Environment

This section describes how to set up the Python environment for deploying Cisco ACI Multi-Site Orchestrator using Python. You must set up the Python environment on the laptop or server from which you will run the installation scripts.


Note

If you have already set up your python environment, for example for another Multi-Site deployment or upgrade, you can skip this section.


Before you begin

  • If you are using Python 2.x, ensure it is version 2.7.14 or later.

  • If you are using Python 3.x, ensure it is version 3.4 or later.

Procedure


Step 1

Download the ACI Multi-Site Tools image from Cisco ACI Multi-Site Software Download link.

  1. Browse to the Software Download link:

    https://software.cisco.com/download/home/285968390/type
  2. Click ACI Multi-Site Software.

  3. Choose the Cisco ACI Multi-Site Orchestrator release version.

  4. Download the ACI Multi-Site Tools Image file (tools-msc-<version>.tar.gz).

Step 2

Extract the files.

# tar –xvzf tools-msc-<version>.tar.gz
Step 3

Change to the extracted directory.

# cd tools-msc-<version>
Step 4

Verify that you are running a correct version of Python.

  • If you are using Python 2.x, ensure it is version 2.7.14 or later.

    # python -V
    Python 2.7.5
  • If you are using Python 3.x, ensure it is version 3.4 or later.

    # python3 -V
    Python 3.4.5
Step 5

If you plan to use a proxy to access the Internet, make sure to configure the proxy as follows:

# export http_proxy=<proxy-ip-address>:<proxy-port>
Step 6

Install the Python package installer.

If you are using Python 3.x, replace python with python3 in the following command:

# python -m ensurepip
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.3 setuptools-39.0.1
Step 7

Install the required packages.

Cisco recommends using virutalenv to install the packages, so they do not impact the existing packages in the system. For more information on how to use virtualenv, see Installing packages using pip and virtualenv.

The required packages are listed in the requirements.txt file.

If you are using Python 3.x, replace python with python3 in the following command:

# python -m pip install -r requirements.txt
Note 

The Python installation must complete successfully. If you encounter any errors, you must address them before proceeding to the next section or the Cisco ACI Multi-Site Orchestrator Python scripts will not work.


Sample msc_cfg_upgrade.yml File

This section provides a sample msc_cfg_upgrade.yml file for upgrading Cisco ACI Multi-Site Orchestrator using Python.

vcenter:
  name: 192.168.142.59
  user: administrator@vsphere.local

  # MSC node VM name will be vm_name_prefix + node-number
  # E.g: cisco-msc-node1
  vm_name_prefix: msc

update:
  # action can be 'upgrade' or 'downgrade'
  action: upgrade

  # MSC upgrade image tar.gz file
  msc_tgz_file: ~/tmp/msc-2.1.1h.tar.gz

Upgrading Cisco ACI Multi-Site Orchestrator to Release 2.0(x) Using Python

This section describes how to upgrade Cisco ACI Multi-Site Orchestrator using Python. We recommend using this approach to upgrade to Release 2.0(1) as it automates a number of manual steps and supports remote execution of the upgrade.


Note

Due to recent PSIRT updates the Cisco ACI Multi-Site Orchestrator nodes' kernels must be updated during the upgrade to Release 2.0(1). This kernel update requires the nodes to be reloaded prior to performing the software upgrade. If you are performing the upgrade remotely, the python script in this section performs the necessary update and reload automatically, followed by the software upgrade. However, if you are performing Cisco ACI Multi-Site Orchestrator upgrade directly from any of the nodes, you will have to re-run the upgrade scripts after the node reboots.


Before you begin

Procedure


Step 1

Download the Cisco ACI Multi-Site Orchestrator upgrade Image.

  1. Go to the Software Download link:

    https://software.cisco.com/download/home/285968390/type
  2. Click ACI Multi-Site Software.

  3. Choose the Cisco ACI Multi-Site Orchestrator release version.

  4. Download the ACI Multi-Site Upgrade Image file (msc-<version>.tar.gz) for the release.

  5. Download the ACI Multi-Site Tools Image file (tools-msc-<version>.tar.gz) for the release.

Step 2

Extract the tools-msc-<version>.tar.gz file to the directory from which you want to run the upgrade.

Example:

# tar –xvzf tools-msc-
<version>
.tar.gz
Step 3

Create a msc_cfg_upgrade.yml configuration file for your upgrade.

You can copy and rename the msc_cfg_upgrade_example.yml file available from the tools-msc-<version>.tar.gz file. Alternatively, you can create the file using the example provided in Sample msc_cfg_upgrade.yml File.
Step 4

Edit the msc_cfg_upgrade.yml configuration file and fill in all the parameters for your environment.

The parameters that need to be filled in are in all caps, for example <VCENTER_NAME>.You will also need to update <MSC_TGZ_FILE_PATH> to the upgrade image downloaded in Step 1.

A sample msc_cfg_upgrade.yml file is provided in Sample msc_cfg_upgrade.yml File.

Step 5

If you had previously upgraded to the 1.2(x) release, update the version database.

If you current Multi-Site Orchestrator installation was a fresh installation, skip this step.

Otherwise if you had previously upgraded, run the following command, replacing 1.2.3b with the currently installed version:

Example:

# cd /opt/cisco/msc/builds/msc_
1.2.3b
/bin/save_msc_version.sh 
1.2.3b
Step 6

Upgrade the Cisco ACI Multi-Site nodes.

If your current release was deployed using the Python installation scripts, you can simply execute the following command to upgrade the nodes:

Example:

# python msc_vm_util.py -c msc_cfg_upgrade.yml

However, if your current release was deployed using the OVA, the upgrade script cannot find each node on its own, so you must also provide each node's IP address to the upgrade script:

Example:

# python msc_vm_util.py -c msc_cfg_upgrade.yml -n1ip <node1-ip> -n2ip <node2-ip> -n3ip <node3-ip>

The script creates a backup of the MongoDB before the upgrade. It then creates and copies the upgrade image to each node and executes /opt/cisco/msc/builds/<msc-version>/upgrade/upgrade.sh to upgrade them.

Step 7

Enter vCenter, node1, node2 and node3 passwords when prompted.

It may take several minutes for the upgrade to complete. After the upgrade is complete, you can verify that the upgrade was successful and the Cisco ACI Multi-Site Orchestrator cluster is ready for use by accessing the Orchestrator GUI.


Upgrading Cisco ACI Multi-Site Orchestrator to Release 2.0(x) Using upgrade.sh

This section describes how to upgrade the Cisco ACI Multi-Site Orchestrator to Release 2.0(1) or later using the upgrade.sh script.

Before you begin

Procedure


Step 1

We recommend that you back up your Multi-Site Orchestrator configuration prior to upgrading.

  1. Log in to the Multi-Site Orchestrator.

  2. In the left-hand pane, navigate to Admin > Backups.

  3. In the main window pane, click NEW BACKUP.

  4. Specify the name for the backup.

  5. Click SAVE.

Step 2

Download the Cisco ACI Multi-Site Orchestrator upgrade image.

  1. Go to the Software Download link:

    https://software.cisco.com/download/home/285968390/type
  2. Click ACI Multi-Site Software.

  3. Choose the Cisco ACI Multi-Site Orchestrator release version.

  4. Download the ACI Multi-Site Upgrade Image file (msc-<version>.tar.gz) for the release.

Step 3

Copy the upgrade image to each node.

Copy the msc-<version>.tar.gz file you downloaded to the /opt/cisco/msc/builds/ directory on each node. You can use SCP or SFTP to transfer the file.

Example:

SFTP:
# sftp root@
<node-ip>
sftp> cd /opt/cisco/msc/builds/
sftp> put msc-
<version>
.tar.gz
sftp> quit

Example:

SCP:
# scp ./msc-
<version>
.tar.gz  root@
<node-ip>
:/opt/cisco/msc/builds/
Step 4

On each node, extract the file.

Example:

# cd /opt/cisco/msc/builds/
# tar –xvzf msc-
<version>
.tar.gz
Step 5

If you had previously upgraded to the 1.2(x) release, update the version database.

If you current Multi-Site Orchestrator installation was a fresh installation, skip this step.

Otherwise if you had previously upgraded, run the following command, replacing 1.2.3b with the currently installed version:

Note 

You can run this command on any node in the cluster.

Example:

# cd /opt/cisco/msc/builds/msc_
1.2.3b
/bin/save_msc_version.sh 
1.2.3b
Step 6

On each node, update the packages:

Due to recent PSIRT updates the Cisco ACI Multi-Site Orchestrator packages must be updated before upgrading to Release 2.0(1).

Example:

# cd /opt/cisco/msc/builds/
<version>
/bin/
# ./update_packages.sh <version>
Step 7

On node2, load the upgrade image.

On node2, run the following commands, replacing:

  • <version> with the target upgrade version you downloaded and extracted in previous steps

Example:

# cd /opt/cisco/msc/builds/
<version>
/upgrade/
# ./upgrade.sh

Wait for the process to finish before proceeding to the next step.

Step 8

On node3, load the upgrade image.

On node3, run the following commands, replacing:

  • <version> with the target upgrade version you downloaded and extracted in previous steps

Example:

# cd /opt/cisco/msc/builds/
<version>
/upgrade/
# ./upgrade.sh

Wait for the process to finish before proceeding to the next step.

Step 9

From node1, upgrade Cisco ACI Multi-Site Orchestrator cluster.

On node1 only, run the following commands, replacing:

  • <version> with version you are upgrading to, where you extracted the upgrade image in previous steps

  • <node2-ip> with the IP address of node2

  • <node3-ip> with the IP address of node3

Note 

If you leave the IP and password arguments out, the script will prompt you to enter them.

Example:

# cd /opt/cisco/msc/builds/
<version>
/upgrade/
# ./upgrade.sh -1 <node2-ip> -3 <node3-ip>

It may take several minutes for the upgrade to complete. After the upgrade is complete, you can verify that the upgrade was successful and the Cisco ACI Multi-Site Orchestrator cluster is ready for use by accessing the Orchestrator GUI.