Upgrade Software On A Cisco Catalyst 3850 Series Switch Stack

Today I will be upgrading the software on a Cisco Catalyst 3850 series switch stack running IOS-XE version 16.3.6 [Denali] in Install Mode. The reason for performing this upgrade is to mitigate the risk of crashes due to a Memory Leak bug (CSCvj16271) in version 16.3.6 of the Catalyst 3850 code. At the time of writing this article, the Cisco Suggested release version of software with the aforementioned bugfix is version 16.3.8.

Install Versus Bundle Mode

There are two modes, Install Mode and Bundle Mode, in which software can be run on a Cisco Catalyst 3850 switch. By default, the Catalyst 3850 uses Install Mode as it is a faster and more modular approach to booting the platform. Bundle Mode, on the other hand, uses the slower more traditional monolothic approach of booting a single IOS image on the switch.

Before we begin our upgrade, we need to determine which mode our switch stack is currently in. Running the command show version on a Catalyst 3850 switch stack will print out all information about the current switch as well as what version of software is currently running on each member of the stack. We will be filtering only the information that we need from the show version command output by using the | include command in conjuction with the Regular Expression [Uu][Nn][Ii][Vv][Ee][Rr][Ss][Aa][Ll] that matches the output we want. In this case, we are filtering a case insensitive string of "universal".

Check current mode and software version

US-EA-SW01#show version | include [Uu][Nn][Ii][Vv][Ee][Rr][Ss][Aa][Ll]
Cisco IOS Software [Denali], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.3.6, RELEASE SOFTWARE (fc3)
*    1 56    WS-C3850-48T       16.3.6            CAT3K_CAA-UNIVERSALK9 INSTALL
     2 56    WS-C3850-48T       16.3.6            CAT3K_CAA-UNIVERSALK9 INSTALL
     3 56    WS-C3850-48T       16.3.6            CAT3K_CAA-UNIVERSALK9 INSTALL
     4 56    WS-C3850-48T       16.3.6            CAT3K_CAA-UNIVERSALK9 INSTALL

As you can see from the output of the show version | include [Uu][Nn][Ii][Vv][Ee][Rr][Ss][Aa][Ll] command, all of our stack members are running software version 16.3.6 in Install Mode.

Upload The New Software

Now that we have verified what version of code and what mode our switch stack is running, it's time to upload the new software to the switch. Software can be uploaded to a switch in a number of ways (TFTP, SCP, Flash Drive, etc...). I prefer to use SCP (if supported) as it is a more reliable network protocol than TFTP.

Upload new software to switch

US-EA-SW01#copy scp://user@172.17.0.20//tmp/cat3k_caa-universalk9ldpe.16.03.08.SPA.bin flash:
Destination filename [cat3k_caa-universalk9ldpe.16.03.08.SPA.bin]?
Password:
 Sending file modes: C0644 535426694 cat3k_caa-universalk9ldpe.16.03.08.SPA.bin
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!
535426694 bytes copied in 1482.435 secs (361181 bytes/sec)

Begin the Upgrade Process

Now that the new version of software has been uploaded to our switch stack, we can begin the upgrade process. Most Cisco documentation and online tutorials for upgrading the Catalyst 3850 series of switches referes to a software install file command in order to start the upgrade process. This command only work works on switches running pre-Denali code. In order to initiate the software upgrade on a switch that is already running Denali code, use the request platform software package install command instead.

Request a software package install on all switches

US-EA-SW01#request platform software package install switch all file flash:cat3k_caa-universalk9ldpe.16.03.08.SPA.bin new auto-copy

After the upgrade has been performed, schedule a time to reload the entire stack. This will bring every member of the stack up to software version 16.3.8.

Reload the stack

US-EA-SW01#reload
Reload command is being issued on Active unit, this will reload the whole stack
Proceed with reload? [confirm]

Verify The Newly Installed Software

Once the switch stack reboots (this could take between 7-10 minutes per switch) run the command show version | include [Uu][Nn][Ii][Vv][Ee][Rr][Ss][Aa][Ll] to verify that the new version of software has been installed on each member of the stack.

Check the new software version

US-EA-SW01#show version | include [Uu][Nn][Ii][Vv][Ee][Rr][Ss][Aa][Ll]
Cisco IOS Software [Denali], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.3.8, RELEASE SOFTWARE (fc3)
*    1 56    WS-C3850-48T       16.3.8            CAT3K_CAA-UNIVERSALK9 INSTALL
     2 56    WS-C3850-48T       16.3.8            CAT3K_CAA-UNIVERSALK9 INSTALL
     3 56    WS-C3850-48T       16.3.8            CAT3K_CAA-UNIVERSALK9 INSTALL
     4 56    WS-C3850-48T       16.3.8            CAT3K_CAA-UNIVERSALK9 INSTALL
Hero Post Image Courtesy of Cisco Systems, Inc. Unauthorized use not permitted.
Show Comments