High Level Summary of APIC Upgrades and Downgrades
When performing an upgrade or downgrade of an APIC cluster, there is a certain sequence of events that occur to allow for the upgrade or downgrade of each APIC separately, along with ensuring that the data on the upgraded or downgraded APIC will be compatible with the target image. Most of these events happen in the background, so it’s important to understand what you should expect to see when you trigger an upgrade or downgrade of the APIC cluster.
-
Image is uploaded to the firmware repository. The image is synced to all APIC cluster members.
-
Upgrade or downgrade is triggered to a specific target version.
-
Each APIC in the cluster goes through the process to install the new image in the first grub partition. This happens in parallel to speed up the upgrade or downgrade process.
-
Once the image installation is completed, each APIC takes its turn to go through a data conversion process of the database files in a sequential order. When this occurs, the following events happen:
-
The Data Management Engine (DME) processes shut down. This includes the nginx web server which services all API requests. Because of this, you will lose access to the UI/API, as well as any other backend application that runs on that APIC.
-
The database files are converted from the initial version to the target version. The amount of time this takes is dependent on the size of the configuration deployed on the ACI fabric. Because of this, the total time to complete the conversion will vary between deployments.
When your source version is APIC release 6.0(3) or newer, the database conversion process has been enhanced and users may notice a shorter wait time for this process compared to the previous releases.
Note
It’s critical that there is no disruptive action taken to the APIC at this stage, as it could result in data loss or partial configuration if this stage does not complete successfully. See Guidelines and Limitations for Upgrading or Downgrading for more information.
-
The APIC will then reload after the database conversion process has completed successfully and will boot up on the version of software defined in the target version.
-
-
After the APIC that performed the reload comes back online, the sequence of events outlined in 4 happen to the next APIC in the cluster. In the meantime, the APIC that came back online initiates the post upgrade activities as the final check of the database. This process repeats itself until all members of the cluster have been upgraded or downgraded.
-
Prior to Cisco APIC 6.0(6), the upgrade of the APIC cluster was considered complete when all APICs came back online and Fully-Fit regardless of the post upgrade activities. Starting from Cisco APIC 6.0(6), the status of APIC cluster upgrade will transition to “Post Upgrade Pending” until the post upgrade activities are complete on each APIC node. Then, the upgrade status will finally become “Completed”.
Note
When you upgrade to Cisco APIC release 6.06 or 6.07 there is an additional increase of around 30 minutes (Typically, the upgrade of an APIC cluster will be in the range of 120 minutes to 150 minutes.)
Note
The post upgrade activities on APIC should be successfully completed before proceeding with the switch upgrades. In general, it is recommended to run the pre-upgrade validation script before the APIC cluster upgrade and before the switch upgrades respectively because the upgrade of the APIC cluster and switches may not occur during the same maintenance window. However, prior to Cisco APIC 6.0(6), it is highly encouraged to run the script before the switch upgrades even when it takes place within the same maintenance window because the script checks not only the pre-upgrade validations but also the status of the post upgrade activities to make sure the fabric is ready to proceed with the switch upgrades after the APIC cluster upgrade.
Note
Starting with Cisco APIC 6.1(1), due to a performance issue in the latest OpenSSH library (CSCwk67958), the post upgrade activities take longer to complete. For instance, the upgrade of APIC Cluster with 3 APICs from release 5.2 to 6.0 was typically in the range of 90 minutes to 120 minutes, which can be much shorter when the source version is 6.0(3) or newer with the enhanced database conversion process mentioned above.
However, when the target version is APIC release 6.1(1) or later, there is an additional increase of around 60 minutes. When the source version is 6.0(3) or newer, the increase due to the openSSH library and the reduction from enhanced database conversion may cancel each other out, and you may see shorter or longer upgrade time than your previous APIC cluster upgrade.
Note that upgrade/downgrade time taken depends on multiple factors - APIC cluster size, configuration, etc. and is an area of constant improvement.