Management subsystem two data center upgrade to v10.0.5.5 and later
Upgrades to v10.0.5.5 and later: How to upgrade your management subsystem in a two data center deployment.
About this task
Follow the steps in this topic, along with the steps documented in Upgrading to the latest release on VMware.
Some steps in the upgrade process are run from the project directory with the
apicup command. Other steps require you to login to the management VMs as root
user. To login as root, follow these steps:
- Use SSH to login to the VM as the
apicadm
user:ssh apicadm@<hostname>
- Switch to the root user with
sudo
:sudo -i
Procedure
- Review the Upgrade considerations on VMware.
- Complete the Preparing to upgrade on VMware steps.
-
Determine the current version and license of API Connect (the version that you are upgrading
from).
You will need to specify the correct version number and license in the next step.
-
Login to the management VM, switch to root user, and run the following command:
apic version
In the response, the
- subsystem-<subsytem-name>
statement displays the installed version. In the following example, the response indicates that the installed version is 10.0.5.2:apic version INFO[0000] Log level: info Control plane: 1.26.0 Appliance base 4.6.0 GitCommitSha:10.0.5.2-55-gb784ac7 Packages: - appliance-base:4.6.0 - appliance-runtime-4.6.0:1.0.0 - appliance-setup-4.6.0:1.0.0 - subsystem-management:1:10.0.5.2
Important: If you are upgrading from a source version of 10.0.1.x, you must append -eus to the end of all references to that version number; for example 10.0.1.2-ifix2-eus. - To get the current license, run the following
apicup command in your project
directory:
in the response, theapicup licenses list
ID
statement displays the installed license, for example:Accepted licenses: ID: <source_license> Product Version: <source_version> URL: <license_url>
Note: If there are multiple accepted licenses, refer only to the<source_license>
that aligns with the<source_version>
of your system (that is the<source_version>
that matches the version that you obtained in step 3.a).
-
- Add source license and version to your
extra-values.yaml file. Note: If you do not have an extra-values.yaml file, then create one in a directory that theAdd the source lines that you identified in step 3.b to your extra-values.yaml as shown:
apicup
command can access.spec: version: "<source_version>" license: license: <source_license> imageRegistry: 127.0.0.1:8675/<source_version>
- Apply the extra-values.yaml file. Run the following
apicup
command to set theextra-values
file for both theactive
andwarm-standby
sites:
where <mgmt> is the name of your management subsystem, which you can get with:apicup subsys set <mgmt> extra-values-file=<extra-values-file-path>
apicup subsys list
If you want to validate your
<extra-values-file-path>
, and the other subsystem settings, before proceeding, you can run:apicup subsys get <mgmt> --validate
-
Run the upgrade command on both sites:
apicup subsys install <subsystem name> <subsystem upgrade tar archive>
Note: If any Control Plane files are needed for your upgrade, you must append the files to theinstall
command. For example:apicup subsys install <subsystem name> <subsystem upgrade tar archive> <path to control plane file 1> <path to control plane file 2>
- Login to the VMs on both sites and monitor the status. Verify that the subsystem status
reaches the
Running
state.kubectl get mgmt NAME READY STATUS VERSION RECONCILED VERSION AGE management n/n Running <current version> <current version> 5h2m
The
RECONCILED VERSION
/VERSION
should still show your current version, not the version you are upgrading to. - Disable 2DCDR on
the
warm-standby
management subsystem:apicup subsys set <warm-standby management subsystem> multi-site-ha-enabled=false apicup subsys install <warm-standby management subsystem> --skip-health-check
Conversion from warm-standby to a stand-alone management subsystem can take some time. Run the health check to ensure that the deployment is in a good state before proceeding:
an empty response means no detected problems.apicup subsys health-check <warm-standby management subsystem>
- Disable 2DCDR on
the active management subsystem.
apicup subsys set <active management subsystem> multi-site-ha-enabled=false apicup subsys install <active management subsystem> --skip-health-check
Conversion from active to a stand-alone management subsystem can take some time. Run the health check to ensure that the deployment is in a good state before proceeding:
an empty response means no detected problems.apicup subsys health-check <active management subsystem>
- Remove the source license and version from your extra-values.yaml
file. Delete the
version
,license
, andimageRegistry
lines that you added to your extra-values.yaml file in step 4.Apply this change to both sites by running the following command:apicup subsys install <mgmt> --skip-health-check
- Run the upgrade command on both sites:
apicup subsys install <subsystem name> <subsystem_upgrade_tar_archive> --skip-health-check
- Continue following the standard management subsystem upgrade steps, from step 10.a on Upgrading to the latest release on VMware.
- After the upgrades on both sites are complete, re-enable 2DCDR on the previously
active
management subsystem.- Wait until all pods are up (they will remain in the
Warning
state) and then run the following command to enable HA mode on the warm-standby machine:apicup subsys set <active management subsystem> multi-site-ha-enabled=true apicup subsys install <active management subsystem>
The active site will not change to the
Running
state until HA mode is enabled on the warm-standby machine. - Log in to the active VM to verify that the subsystem status reaches the
Running
state:kubectl get mgmt NAME READY STATUS VERSION RECONCILED VERSION AGE management n/n Running <new version> <new version> 5h2m
- Wait until all pods are up (they will remain in the
- Enable 2DCDR on
the previously warm-standby
management subsystem.
apicup subsys set <warm-standby management subsystem> multi-site-ha-enabled=true apicup subsys install <warm-standby management subsystem>
Login to the warm-standby VM to verify that the subsystem status reaches theRunning
state.kubectl get mgmt NAME READY STATUS VERSION RECONCILED VERSION AGE management n/n Running <new version> <new version> 5h2m