Software Maintenance Upgrade

The Software Maintenance Upgrade (SMU) is a package that can be installed on a system to provide a patch fix or security resolution to a released image.

Information About Software Maintenance Upgrade

Software Maintenance Upgrade

The Software Maintenance Upgrade (SMU) is a package that can be installed on a system to provide a patch fix or security resolution to a released image.

An SMU package is provided on a per release and per component basis and is specific to the platform.

An SMU provides a significant benefit over classic IOS software as it allows you to address the network issue quickly while reducing the time and scope of the testing required. The Cisco IOS XE platform internally validates the SMU compatibility and does not allow you to install non-compatible SMUs.

All SMUs are integrated into the subsequent Cisco IOS XE software maintenance releases. An SMU is an independent and self-sufficient package and it does not have any prerequisites or dependencies. You can choose which SMUs to install or uninstall in any order.

Starting from Cisco IOS XE Everest 16.6.1, SMUs are supported only on Extended Maintenance releases and for the full lifecycle of the underlying software release.

The following are three basic steps to install an SMU:

  • Addition of the SMU to the filesystem

  • Activation of the SMU onto the system

  • Committing the SMU change so it is persistent across reloads

Supported Platforms

Starting Cisco IOS XE Everest 16.6.1, the following platforms are supported for Software Maintenance Upgrade:

  • Cisco ASR 1000 Series Aggregate Services Routers (ASR1001-X, ASR1002-X, ASR1001-HX, ASR1002-HX, ASR1000-RP2, ASR1000-RP3)

  • Cisco ISR 4000 Series Integrated Services Routers (ISR4351, ISR4331, ISR4431, ISR4321, ISR4451)

  • Cisco CSR 1000v Series Cloud Services Routers

  • Cisco Catalyst 9300 Series Switches

  • Cisco Catalyst 9400 Series Switches

Software Maintenance Upgrade Package

An SMU package contains metadata and the fix for the reported issue that the SMU is requested for.

Software Maintenance Upgrade Workflow

The SMU process is initiated with a request to the SMU committee. Contact your customer support to raise an SMU request.

At release time, SMU packages are posted to the Cisco Software Download page along with the following information:

  • Defect addressed

  • Type of defect -PSIRT and so on

SMU Reload

The SMU type describes the effect to the system after installing the SMU. SMUs can be non-traffic affecting or can result in device reload or switchover.

A cold reload of the system requires the complete reload of the operating system. This action effects traffic flow for the duration of the reload (~5 min currently). Reload ensures that all processes are started with the correct libraries and files that are installed as part of the SMU.

Restrictions for Software Maintenance Upgrade

  • Switchover for In Service Software Upgrade (ISSU) is not supported.

How to Configure Software Maintenance Upgrade

Adding, Activating, Committing an SMU

To install an SMU package, copy the downloaded SMU package to the relevant directory on your device. Use the following commands to add, activate, and commit an SMU:

  • install add : Runs base compatibility checks on a file to ensure that the SMU package is supported on the platform. It also adds an entry in the package/SMU .sta file, so that its status can be monitored/maintained from here on. The install add command takes the following input: package file location and downloading method (tftp, ftp, and so on)

  • install active : Runs compatibility checks, installs the package, updates package status details. For restartable package it either triggers the appropriate post-install scripts to restart necessary processes or for non-restartable packages it will trigger a reload.

  • install commit : Commits the activation changes to be persistent across all reloads. The commit can be done after activation while the system is up, or after the first reload. If a package was activated but not committed, it will remain active after the first reload, but not after the second reload.

Perform the following configuration to add, activate, and commit an SMU:

enable
install add file bootflash:isr4300-universalk9.BLD_ SMU_LATEST_20170128_040557.1.CSCxxx.SSA.smu.bin

show install summary	 // Shows the installed SMU package as inactive package in the command output

install activate file bootflash:isr4300-universalk9.BLD_SMU_LATEST_20170128_040557.1.CSCxxx.SSA.smu.bin

show version	// Shows the image version tagged with the  “SMU Patched” phrase

show install summary	// Shows the installed SMU package as an active package in the command output

install commit 

show install summary	// Shows the installed SMU package as a committed package in the command output.	  

Rolling Back, Deactivating, or Removing an SMU

Use the following commands to roll back, deactivate, and remove an SMU:

  • install rollback: Returns the device to the previous installation state. This rollback requires a reload.

  • install deactivate: Deactivates an active package, updates the package status, and triggers a process restart or a reload.

  • install remove: Removes all or specified inactive SMU packages from the file system.

Perform the following tasks to roll back, deactivate, or remove an SMU:

enable
install rollback to committed 
install deactivate file bootflash:isr4300-universalk9.BLD_SMU_LATEST_20170128_040557.1.CSCxxXXXX.SSA.smu.bin 


install remove file bootflash:isr4300-universalk9.BLD_SMU_LATEST_20170128_040557.1.CSCxxx.SSA.smu.bin

Configuration Examples for Software Maintenance Upgrade

Example: Adding, Activating, and Committing an SMU

Adding, Activating, and Committing an SMU

The following example shows the workflow for adding, activating, and committing an SMU

Device# install add file bootflash:isr4300-universalk9.BLD_SMU_LATEST_20170128_040557.1.CSCxxXXXX.SSA.smu.bin
install_add: START Tue Aug  1 04:22:48 UTC 2017
install_add: Adding SMU


*Aug  1 04:22:54.492: %IOSXE-5-PLATFORM:  SIP2: Aug  1 04:22:54 install_engine.sh: %INSTALL-5-INSTALL_START_INFO: Started install add bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin--- Starting SMU Add operation ---
Performing SMU_ADD on Active/Standby
  [R0] SMU_ADD package(s) on R0
  [R0] Finished SMU_ADD on R0
Checking status of SMU_ADD on [R0]
SMU_ADD: Passed on [R0]
Finished SMU Add operation

SUCCESS: install_add  Tue Aug  1 04:23:10 UTC 2017


Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   I    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device# install activate file bootflash:isr4300-universalk9.BLD_SMU_LATEST_20170128_040557.1.CSCxxx.SSA.smu.bin

install_activate: START Tue Aug  1 04:24:42 UTC 2017
install_activate: Activating SMU

*Aug  1 04:24:48.682: %IOSXE-5-PLATFORM:  SIP2: Aug  1 04:24:48 install_engine.sh: %INSTALL-5-INSTALL_START_INFO: Started install activate bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
This operation requires a reload of the system. Do you want to proceed? [y/n]y

--- Starting SMU Activate operation ---
Performing SMU_ACTIVATE on Active/Standby
  [R0] SMU_ACTIVATE package(s) on R0
    DMP package.
  [R0] Finished SMU_ACTIVATE on R0
Checking status of SMU_ACTIVATE on [R0]
SMU_ACTIVATE: Passed on [R0]
Finished SMU Activate operation

install_activate: Reloading the box to complete activation of the SMU...
install_activate will reload the system now!
Aug  1 04:25:36
Aug  1 04:25:45.742 RP0/0: %INSTALL-5-INSTALL_COMPLETED_INFO: Completed install activate SMU bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin

<after reload>

Device# show version
Cisco IOS XE Software, Version 16.06.01 - SMU-PATCHED
Cisco IOS Software [Everest], ISR Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 16.6.1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2017 by Cisco Systems, Inc.
Compiled Sat 22-Jul-17 05:55 by mcpre

...

Active SMU Information:
  State (St):  C - Committed, U - Uncommitted
--------------------------------------------------------------------------------
Type  Defect_ID    Version   St Filename
--------------------------------------------------------------------------------
SMU   CSCxxXXXXX     16.6.1.0. U  isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu
--------------------------------------------------------------------------------
cisco ISR4351/K9 (2RU) processor with 7941107K/6147K bytes of memory.
Processor board ID FLM2007W0MJ
3 Gigabit Ethernet interfaces
32768K bytes of non-volatile configuration memory.
16777216K bytes of physical memory.
14659583K bytes of flash memory at bootflash:.
0K bytes of WebUI ODM Files at webui:.

Configuration register is 0x0

Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   U    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device# show install active
 R0 ] Active Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   U    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device# install commit
install_commit: START Tue Aug  1 04:48:03 UTC 2017
install_commit: Committing SMU


*Aug  1 04:48:10.042: %IOSXE-5-PLATFORM:  SIP2: Aug  1 04:48:10 install_engine.sh: %INSTALL-5-INSTALL_START_INFO: Started install commit--- Starting SMU Commit operation ---
Performing SMU_COMMIT on Active/Standby
  [R0] SMU_COMMIT package(s) on R0
  [R0] Finished SMU_COMMIT on R0
Checking status of SMU_COMMIT on [R0]
SMU_COMMIT: Passed on [R0]
Finished SMU Commit operation
SUCCESS: install_commit  Tue Aug  1 04:48:33 UTC 2017

Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   C    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Example: Rolling Back, Deactivating, or Removing an SMU

Example: Rolling back, Deactivating, or Removing an SMU

Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   C    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device#show install rollback
ID      Label          Description
-----------------------------------------------
4       No Label        No Description

Device# install rollback to committed 

install_rollback: START Tue Aug  1 05:00:37 UTC 2017

*Aug  1 05:00:44.038: %IOSXE-5-PLATFORM:  SIP2: Aug  1 05:00:44 install_engine.sh: %INSTALL-5-INSTALL_START_INFO: Started install rollbackinstall_rollback: Rolling back SMU

This operation requires a reload of the system. Do you want to proceed? [y/n]y

--- Starting SMU Rollback operation ---
Performing SMU_ROLLBACK on Active/Standby
  [R0] SMU_ROLLBACK package(s) on R0
  [R0] Finished SMU_ROLLBACK on R0
Checking status of SMU_ROLLBACK on [R0]
SMU_ROLLBACK: Passed on [R0]
Finished SMU Rollback operation

install_rollback will reload the system now!
Aug  1 05:01:40.43
Aug  1 05:01:53.558 RP0/0: %INSTALL-5-INSTALL_COMPLETED_INFO: Completed install rollback SMU

<after reload>


Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
IMG   C    16.6.1.0


//install deactivate: Deactivates an active package and triggers a process restart or a reload.

Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   C    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device# install deactivate file bootflash:isr4300-universalk9.BLD_SMU_LATEST_20170128_040557.1.CSCxxXXXX.SSA.smu.bin
install_deactivate: START Tue Aug  1 05:28:47 UTC 2017
install_deactivate: Deactivating SMU

This operation requires a reload of the system. Do you want to proceed? [y/n]y

--- Starting SMU Deactivate operation ---
Performing SMU_DEACTIVATE on Active/Standby
  [R0] SMU_DEACTIVATE package(s) on R0
    DMP package.
  [R0] Finished SMU_DEACTIVATE on R0
Checking status of SMU_DEACTIVATE on [R0]
SMU_DEACTIVATE: Passed on [R0]
Finished SMU Deactivate operation

install_deactivate: Reloading the box to complete activation of the SMU...
install_deactivate will reload the system now!

<after reload>


Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   D    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device#install commit
install_commit: START Tue Aug  1 05:39:29 UTC 2017
install_commit: Committing SMU


*Aug  1 05:39:35.222: %IOSXE-5-PLATFORM:  SIP2: Aug  1 05:39:35 install_engine.sh: %INSTALL-5-INSTALL_START_INFO: Started install commit--- Starting SMU Commit operation ---
Performing SMU_COMMIT on Active/Standby
  [R0] SMU_COMMIT package(s) on R0
  [R0] Finished SMU_COMMIT on R0
Checking status of SMU_COMMIT on [R0]
SMU_COMMIT: Passed on [R0]
Finished SMU Commit operation

SUCCESS: install_commit  Tue Aug  1 05:39:58 UTC 2017
Completed install commit SMU

Device#show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   I    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0


//install remove: Deletes the inactive SMU file from the file system. 

Device# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   I    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0

Device#install remove file bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
install_remove: START Tue Aug  1 05:43:22 UTC 2017
install_remove: Removing SMU

--- Starting SMU Remove operation ---
Performing SMU_REMOVE on Active/Standby
  [R0] SMU_REMOVE package(s) on R0
  [R0] Finished SMU_REMOVE on R0
Checking status of SMU_REMOVE on [R0]
SMU_REMOVE: Passed on [R0]
Finished SMU Remove operation

SUCCESS: install_remove  Tue Aug  1 05:43:43 UTC 2017

//Remove inactive: Deletes all inactive packages from the file system


Device#show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   I    bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
IMG   C    16.6.1.0


Device#install remove inactive
install_remove: START Tue Aug  1 05:52:31 UTC 2017
Cleaning up unnecessary package files
  Scanning boot directory for packages ... done.
  Preparing packages list to delete ...
    isr4300-universalk9.16.06.01.SPA.bin
      File is in use, will not delete.
    packages.conf
      File is in use, will not delete.
  done.

The following files will be deleted:
[R0]:
/bootflash/isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin

Do you want to remove the above files? [y/n]y
[R0]:
Deleting file bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin ... done.
SUCCESS: Files deleted.
--- Starting Post_Remove_Cleanup ---
Performing Post_Remove_Cleanup on Active/Standby
  [R0] Post_Remove_Cleanup package(s) on R0
  [R0] Finished Post_Remove_Cleanup on R0
Checking status of Post_Remove_Cleanup on [R0]
Post_Remove_Cleanup: Passed on [R0]
Finished Post_Remove_Cleanup

SUCCESS: install_remove  Tue Aug  1 05:53:19 UTC 2017


///Show install package

Device#show install package bootflash:isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
Name: isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin
Version: 16.6.1.0.202.1500742946..Everest
Platform: ISR4300
Package Type: SMU
Defect ID: CSCxxXXXXX
Package State: Not Installed
Supersedes List: {}
SMU ID: 0
SMU Type: reload
SMU Compatible with Version: 16.6.1.0.202


//Show install log    
Device#show install log
[0|install_op_boot]: START Tue Aug  1 05:34:59 Universal 2017
[0|install_op_boot(INFO, )]: SMU /bootflash/isr4300-universalk9.16.06.01.CSCxxXXXXX.SPA.smu.bin will be activated upon reload.
[0|install_op_boot]: END SUCCESS  Tue Aug  1 05:35:06 Universal 2017
                               

Feature Information for Software Maintenance Upgrade

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Software Maintenance Upgrade

Feature Name

Releases

Feature Information

Software Maintenance Upgrade

Cisco IOS XE Everest 16.6.1.

The Software Maintenance Upgrade (SMU) is a package that can be installed on a system in order to provide a patch fix or security resolution to a released image

The following commands were introduced or modified: install , show install