cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

3850 switch - IOS XE upgrade Detailed (standalone)

91548
Views
41
Helpful
23
Comments

There are 2 methods of booting and running IOS XE software in 3850 switch/stack.

By default, the switches are shipped in Install mode.

Bundle mode: Bundle mode is where we boot the switch/stack using the .bin file. This is the traditional method of booting the switch where the switch extracts the .bin file to the RAM of the switch and run from there.

Install Mode: Install mode is where we pre-extract the .bin file in the flash and boot the witch/stack using the packages.conf file created during the extraction.

Note:

Install mode is the recommended mode of running the switch. Not all features may be available in this Bundle mode

IOS XE installation and software rollback are supported only when the switch is running in “Install” mode. (ie: The commands “software install” and “software rollback”.)

Use “software expand” command to convert the switch into Install mode from Bundle mode. The steps are mentioned below.

Upgrading a stand-alone switch:

The packages and provisioning file used to boot in installed mode must reside in the flash.

Booting in installed mode from usbflash0: or TFTP is not supported.

Booting a bundle in bundle mode is just like booting a monolithic IOS image.

For example: boot flash:cat3k_caa-universalk9.SSA.03.08.83.EMD.150-8.83.EMD.bin

Hence, the boot variable should not be pointing to the .bin file. If so, the switch will boot in Bundle mode. The boot variable should be pointing to the “packages.conf” file in order for the switch to boot in Install mode.

Before doing the upgrade, we need to check the mode in which the switch is currently booted in.

C3850#show version | begin Switch Port

Switch Ports Model              SW Version        SW Image              Mode

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

*    1 32    WS-C3850-24T       03.03.01SE        cat3k_caa-universalk9 INSTALL •ß Install mode

Upgrading from Install mode:

By default, switches are shipped in Install mode.

In order to upgrade the switch from Install mode, please follow the below-mentioned procedure.

  • •1.       Download the new image from the TFTP server to the flash / USB on the switch. (optional)

Copy tftp: flash:

   (or)

Copy tftp: usbflash0:

  • •2.       Use the command “software install” to install the newly downloaded image (or) the image present in the network.

C3850-01#software install file <source>:<filename.bin> new

The “new” keyword is used so that that the post-install package set should contain only the packages being installed. The old packages file will be renamed for future rollback purpose.  Without this option, the post-install package set is a merged set of the currently installed software and the new packages being installed.

The source can be

  • flash:  or usbflash0: (or a sub-directory of these)
  • The network via tftp, ftp or http

NOTE:  When performing ‘software install’ on a switch with a source bundle that resides in the network, the source bundle is first downloaded to RAM on switch.  The source bundle is deleted from RAM when the operation completes.

Refer to the configuration guide to know about the other optional parameters of this command,

Example:

C3850#dir flash:

Directory of flash:/

<<snippet>>

29511  -rwx   220716072  Oct 15 2012 12:57:59 +00:00  cat3k_caa-universalk9.SSA.03.08.88.EMP.150-8.88.EMP.bin

C3850#software install file flash:cat3k_caa-universalk9.SSA.03.08.88.EMP.150-8.88.EMP.bin

<<snippet>>

[1 ]: Creating pending provisioning file

[1 ]: Finished installing software.  New software will load on reboot.

[1 ]: Committing provisioning file

[1 ]: Do you want to proceed with reload? [yes/no]: n

C3850#

Once the installation is completed, reload the switch and it will boot into the newly installed IOS XE image.

From Bundle mode:

                If the switch is currently running in “Bundle” mode, then we need to use the “software expand” command to convert the switch into the Install mode first and then install the new IOS XE.

The ‘software expand’ exec command is used to extract the package files and the provisioning file (packages.conf) from a source bundle (possibly the running bundle) and copy them to the specified destination directory in a local storage device.

This command will typically be used to convert from the bundle running mode to the installed running mode.

NOTE:  When performing ‘software expand’ on a switch with a source bundle that resides in local storage, the source bundle is first copied to the corresponding local storage device on the switch.  The source bundle used for the expand operation is left intact after it is expanded.

NOTE:  When performing ‘software expand’ on a switch with a source bundle that resides in the network, the source bundle is first downloaded to RAM of the switch.  The source bundle is deleted from RAM on the switch when the operation completes.

This example uses the following steps to prepare a switch for booting in installed mode, i.e., booting a package provisioning file (packages.conf)

  1. Boot      in bundle mode using ‘boot flash:<bundle name>’

Can also boot from usbflash0: or via tftp

  1. Use the      ‘software clean file flash:’ command to remove any unused package, bundle      and provisioning files from flash:
  2. Use      the ‘software expand running to flash:’ command to expand the running      bundle to flash:
  3. Reload      the switch
  4. Boot      the installed packages using ‘boot flash:packages.conf’

Software Rollback:

The 'software rollback' exec command can be used to revert to a previous version of the installed software package set (i.e., an older packages.conf file)

This functionality relies on the existence of one or more 'rollback provisioning files’ in flash:, along with all of the .pkg files listed in the rollback provisioning file(s)

  • The rollback provisioning files are visible in flash: as packages.conf.00-, packages.conf.01-, etc.
  • packages.conf.00- is a snapshot of the packages.conf file as it looked prior to the last installation operation
  • packages.conf.01- is a snapshot of the packages.conf file as it looked two installations ago
  • And so on

When the 'software rollback' command is used, packages.conf.00- becomes packages.conf.  packages.conf.01- becomes packages.conf.00-.  And so on

Note:  If the 'software clean' command is used, future attempts to do a software rollback are likely to fail

Comments
Participant
i looked into both the bugs. the bug which was raised for your case is about memory leak. the other bug is for "memory consumption" in Bundle mode. so, yeah. eventhough the error is same, the cause is different
Beginner

Hi,

I see this behavior in 'install mode' ...

Switch Ports Model              SW Version        SW Image              Mode
------ ----- -----              ----------        ----------            ----
*    1 56    WS-C3850-48T       Denali 16.1.1     CAT3K_CAA-UNIVERSALK9 INSTALL
     2 56    WS-C3850-48T       Denali 16.1.1     CAT3K_CAA-UNIVERSALK9 INSTALL

May 14 09:51:27: %PLATFORM-4-ELEMENT_WARNING:Switch 1 R0/0: smand:  2/RP/0: Committed Memory value 96% exceeds warning level 95%
May 14 10:01:37: %PLATFORM-4-ELEMENT_WARNING:Switch 1 R0/0: smand:  2/RP/0: Committed Memory value 96% exceeds warning level 95%
May 14 10:11:47: %PLATFORM-4-ELEMENT_WARNING:Switch 1 R0/0: smand:  2/RP/0: Committed Memory value 96% exceeds warning level 95%
May 14 10:21:57: %PLATFORM-4-ELEMENT_WARNING:Switch 1 R0/0: smand:  2/RP/0: Committed Memory value 96% exceeds warning level 95%

so, we are not hitting the Bug CSCux87245, while it describs:

Symptom:
Seeing following error log

%PLATFORM-4-ELEMENT_WARNING:Switch 5 R0/0: smand: 5/RP/0: Committed Memory value 99% exceeds warning level 95%

Conditions:
Recent upgrade using bundle mode

Workaround:
Migrate from BUNDLE to INSTALL mode

Participant

i checked few notes related to this and it looks like there will be 2 changes in memory consumption and will be fixed in 16.1.3.

In bmason's case, the memory utilization gradually reduced after few hours of keeping the device up. can you check the same?

Good Stuff.

I have one doubt...

Can we do stack of 385048PS-S switch with minor difference of IOS i.e.

One with 3.6.5 version and another with 3.6.4 version

I heard that version should be same for the stack but is it possible??

Also how to do upgrade on these scenario on different stack..

Beginner

Hello. I know this thread is getting old, but here goes.

I have two 3650 in a stack loaded with IOS XE 16.3.1. I'm hitting the memory bug, and I wanted to upgrade to 16.3.2.

Problem is, I don't have the Software command at all in normal og privileged exec.

Any tips? The switches are in INSTALL mode and boot variable is the packages.conf.

Community Member

I was having similar frustration. I finally found the answer in this document

Under section titled "Table 8 Changes in Software Installation CLI Commands", what was once "software install <file>" is now "request platform software package switch <switch number, or 'all'> <file>, so you know, super intuitive. 

(Long link if the above is not working, its just the release notes for that Denali 16.3.X XE)

http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3650/software/release/16-3/release_notes/ol-16-3-3650.html

Beginner

Thank you Brian Jones.

CreatePlease to create content
Content for Community-Ad
July's Community Spotlight Awards