Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Configure

GUI

Remarks

CLI

Verify

Troubleshoot

Introduction

This document describes the site-based Rolling AP Upgrade in an N+1 Network feature that enables a staggered upgrade of APs in an N+1 deployment.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Catalyst 9800 Wireless LAN Controllers and AP (Cisco IOS®) platforms

- Catalyst 9800 Wireless LAN Controllers software feature sets

Components Used

The information provided in this document is based on the these software and hardware components.

- Two 9800-40 running 17.9.6

- Four 9136 APs

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

This feature helps you to effectively achieve a close to zero-downtime network upgrade in an N+1 network. The existing site filter functionality allows you to perform a software upgrade of a site or all the sites managed by the controller. The APs associated to a specific site tag are upgraded/moved and is monitored for the stability before moving the other site-tag associated APs.

Configure

GUI

Step 1: Establish mobility tunnels between the controllers running the same version.

This link describes the process and steps involved in establishing mobility tunnel between the controllers.

Configure Mobility Topologies on Catalyst 9800 WLCs

Step 2: Go to controller GUI > Administration > Software management.

Step 3: Verify both the controllers are running in INSTALL mode as N+1 hitless is not supported in Bundle mode.’

Step 4: Choose the Transport type from the drop down.

- If you choose My Desktop as the transport type, click Select File to navigate to the file from the Source File Path field.

- If you choose SFTP as the transport type, enter the source IP address, SFTP username, SFTP password, file path, and select the destination.

- If you choose FTP as the transport type, enter the source IP address, FTP username, FTP password, file path, and select the destination.

- If you choose TFTP as the transport type, enter the source IP address, file path, and select the destination.

- If you choose Device as the transport type, choose the file system and file path.

Step 5: Click the Enable Hitless Upgrade option which enables us to select site tag based upgrade.

Step 6: Setting the Site Filter to All Sites provides us the option to use Fallback after upgrade option. Changing the site filter to Custom site prompts us to select the site tags.

Select the site tags to check with first.

Step 7: Enter the destination(secondary) Controller IP and Controller Name.

Step 8: In the AP Upgrade Configuration section, use the AP Upgrade per Iteration drop-down list to select the percentage of APs to be upgraded per iteration. This configures the minimum percentage of APs that must join the destination controller to signal completion of iteration.

Step 9: (Optional) Check the Client Steering.

Step 10: (Optional) In the Accounting Percentage field, choose the percentage of APs that must join the destination controller after each iteration (of the staggered AP upgrade) to consider the iteration as successful. The default value is 50%.

Site Tag Based Upgrade

Step 11: Click Download and Install. This starts the upgrade process and the APs which are mapped to the custom site tags predownloads the image and move to the destination controller.

Once the APs with those mentioned site-tags are moved, before performing Save configuration and Activate,  an option Update Site Filter appears. Add more site tags to the existing list and click that option to upgrade and move those APs in the additionally added site-tag.

Adding Additional Site Tags

Step 12: Once the APs are moved successfully to the destination controller, Click the Save Configuration and Activate which activates the image in the primary controller.

After successful completion of the activation and reload, navigate to the same page and commit the upgrade.

Remarks

- If the secondary controller is already upgraded to the required version, the APs go on a momentary reload to swap the image before joining the secondary one. If you move back the APs to the primary after the upgrade completion, the APs reinitiate the CAPWAP connection to join the primary.

- If the secondary controller is not upgraded to the required version and stays in the same older version as the primary before upgrade, the APs reinitiate the CAPWAP connection to join the controller. If you move back the APs to the primary after it’s upgrade, the APs go on a momentary reload to swap the images before joining the primary one.

CLI

Step 1: Establish mobility tunnels between the controllers running the same version.

This link describes the process and steps involved in establishing mobility tunnel between the controllers.

Configure Mobility Topologies on Catalyst 9800 WLCs

Step 2: Go to enable mode and ensure that both the controllers are in INSTALL mode.

wlc2#show version | i Installation

Installation mode is INSTALL

Step 3: Copy the new image to flash using the command:

copy tftp:image flash:

Step 4: Add the image package for the installation process using the command:

install add file flash:<package_name>

Step 5: (Optional) Disable client steering using the command:

Source_WLC# no ap upgrade staggered client-steering

Step 6: (Optional) Configure the minimum percentage of APs that must join the destination controller to signal iteration completion using the command:

Source_WLC (config)# ap upgrade staggered iteration completion min-percent

Step 7: (Optional) Configure the action to be taken when APs are missing after an iteration during AP upgrade using the command:

Source_WLC (config)# ap upgrade staggered iteration error action stop

Step 8: (Optional) Configures the maximum time allowed per iteration during AP upgrade. Valid values range from 9 to 60.

Source_WLC (config)# ap upgrade staggered iteration timeout timeout-duration

Source_WLC (config)# exit

Step 9: Predownload the latest image to the APs:

Source_WLC# ap image predownload

Step 9: Adds a site tag to a site filter. Repeat this command again to add more site-tag to the filter:

Source_WLC# ap image site-filter any-image add site-tag

Step 10: This command upgrades and moves the APs of the applied site tags to the destination controller:

Source_WLC# ap image upgrade destination dest_wlc_name dest_wlc_IP

Check if the APs are moved to the destination controller with the command show ap image or show ap summary

Step 11: If needed to add more site-tag to upgrade and move those APs, run this command:

Source_WLC# ap image site-filter any-image add site-tag

Source_WLC# ap image site-filter any-image apply

If upgrade is not completed successfully, use the ap image upgrade destination or ap image move destination command to restart the upgrade process.

Step 12: Verify all the APs have moved to the destination controller. Once verified, activate the image on the source controller.

Source_WLC# install active

Step 13: Commit the changes post the upgrade:

Source_WLC# install commit

Verify

- Verify that the controller is running in INSTALL mode

Source_WLC# show version | i mode

Installation mode is INSTALL

- Ensure that the mobility tunnel is UP between the controllers

Source_WLC# show wireless mobility summary

Mobility Summary

Wireless Management VLAN: 10

Wireless Management IP Address: 10.107.70.177

Wireless Management IPv6 Address:

Mobility Control Message DSCP Value: 48

Mobility High Cipher : False

Mobility DTLS Supported Ciphers: TLS_ECDHE_RSA_AES128_GCM_SHA256, TLS_RSA_AES256_GCM_SHA384, TLS_RSA_AES128_CBC_SHA

Mobility Keepalive Interval/Count: 10/3

Mobility Group Name: default

Mobility Multicast Ipv4 address: 0.0.0.0

Mobility Multicast Ipv6 address: ::

Mobility MAC Address: 648f.3ebe.bb00

Mobility Domain Identifier: 0x34ac

Controllers configured in the Mobility Domain:

IP                                        Public Ip                                  MAC Address         Group Name                       Multicast IPv4    Multicast IPv6                              Status                       PMTU

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

10.107.70.177                              N/A                                        648f.3ebe.bb00      default                          0.0.0.0           ::                                          N/A                          N/A

10.107.70.175                              10.107.70.175                              5856.9fe8.ac00      default                          0.0.0.0           ::                                          Up                           1385

- Run show ap upgrade on both the controllers to check where the APs are connected.

- Run show ap upgrade summary to see the upgrade reports.

wlc1# show ap upgrade summary

Report Name                                                      Start time

------------------------------------------------------------------------------------------

AP_upgrade_to_wlc2_822025155858                                  03/08/2025 15:58:58 Austral

AP_upgrade_from_wlc2_82202516200                                 03/08/2025 16:20:00 Austral

AP_upgrade_from_wlc2_822025163043                                03/08/2025 16:30:43 Austral

AP_upgrade_from_wlc2_822025163110                                03/08/2025 16:31:10 Austral

- Run show ap upgrade name <report_name> to see the progress report and AP status of that timestamp.

wlc1#sh ap upgrade name AP_upgrade_from_wlc2_822025163110

Status: Complete

From version: 17.15.1.6

To version: 17.12.4.22

Started at: 03/08/2025 16:31:10 Austral

Configured percentage: N/A

Percentage complete: 100

End time: 03/08/2025 16:40:53 Austral

Source controller: wlc2

Destination controller: wlc1

Progress Report

---------------

Iterations

----------

Iteration              Start time                          End time                    AP count

------------------------------------------------------------------------------------------------

0                      03/08/2025 16:31:10 Austral         03/08/2025 16:31:10 Austral 0

1                      03/08/2025 16:31:10 Austral         03/08/2025 16:35:48 Austral 1

2                      03/08/2025 16:35:48 Austral         03/08/2025 16:40:53 Austral 1

Upgraded

--------

Number of APs: 2

AP Name                          Radio MAC               Iteration       Status               Site

----------------------------------------------------------------------------------------------------

AP4891.D5EE.7A94                 4891.d5f3.c890          1               Joined               default-site-tag

AP4891.D5EF.35B8                 6cd6.e304.8ee0          2               Joined               test2

In Progress

-----------

Number of APs: 0

AP Name                          Radio MAC

-------------------------------------------------

Remaining

---------

Number of APs: 0

AP Name                          Radio MAC

-------------------------------------------------

APs not handled by Rolling AP Upgrade

-------------------------------------

AP Name                          Radio MAC               Status          Reason for not handling by Rolling AP Upgrade

--------------------------------------------------------------------------------------------

Troubleshoot

- Post running the ap image site-filter any-image apply command. Wait for the upgrade to complete. If the upgrade is not successful, use the ap image upgrade destination or ap image move destination command to restart the upgrade process.

- The fallback option is not available in both GUI and CLI if you are using custom site-tag option. If needed, the fallback has to be done manually via the CLI from the destination controller using the ap image move destination command. With fallback, use reset or swap command.

- Swap command interchanges the AP image so that the target code is marked as the primary image for the APs.

- Reset command reloads the AP. It is assumed that the destination WLC is on the same version as the APs backup image.