In Service Model Update

This module describes how to update the YANG data models on a device through an In Service Model Update.

    This module contains the following sections:

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http:/​/​www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Restrictions for In Service Model Update

  • In Service Model Update does not support In-Service Software Upgrade (ISSU).

  • After a switchover, users must install the Software Maintenance Update (SMU) on the standby device.

Information About In Service Model Updates

Overview of In Service Model Updates

In Service Model Update adds new data models or extend functionality to existing data models. The In Service Model Update provides YANG model enhancements outside of a release cycle. The update package is a superset of all existing models; it includes all existing models as well as updated YANG models.

The data model infrastructure implements the YANG model-defined management interfaces for Cisco IOS XE devices. The data model infrastructure exposes the NETCONF interface northbound from Cisco IOS XE devices. The supported data models include industry standard models such as IETF, and Cisco IOS XE device-specific models.

The functionality provided by the In Service Model Update is integrated into the subsequent Cisco IOS XE software maintenance release. Data model update packages can be downloaded from the Cisco Download Software Center.

Compatibility of In Service Model Update Packages

An update package is built on a per image basis.

All contents of an update package will be part of future mainline or maintenance release images. The image and platform versions are checked by the In Service Model Update commands during the package add and activate. If an image or platform mismatch occurs, the package install fails.

Update Package Naming Conventions

In Service Model Updates are packaged as a .bin files. This file includes all updates for a specific release and platform and the Readme file. These files have a release date and are updated periodically with additional model updates.

The naming convention of the data model update package follows the format—platform type-license level.release version.DDTS ID-file. The following is an example of a data model update file:

  • asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

The readme file provides the following information:

  • Console and error messages during data model activation or deactivation

  • Data model installation impact

  • Side effects and possible workarounds

  • Package(s) that the In Service Model Update impacts

  • Restart type

Installing the Update Package

You can install the In Service Model Update package on a device by using the install add, install activate, and install commit commands in privileged EXEC mode.

The install add command copies the update package from a remote location to the device. You can also use other methods to copy the package; however, you must still enable the install add command for the installation to work. For the install activate command to work, the package must be available in the device bootflash. Enable the install commit command to make updates persistent over reloads.

Installing an update replaces any previously installed data models. At any time, only one update is installed on the device. A data model package includes all updated YANG models and all existing YANG models previously installed on the device.

The following flow chart explains how the model update package works:

Figure 1. Committing a Model Update Package

If NETCONG-YANG is enabled during package activation, NETCONF processes are restarted. All active NETCONF sessions are killed during package activation. Failure during a package verification aborts the activation process.

Deactivating the Update Package

You can deactivate an update package by using the install deactivate command. Enable the install commit command to make changes persistent.

Table 1 Deactivating a Model Update Package

Action

Command to Use

To remove a package.

Use the install remove command.
Note   

Deactivate a package before removing it.

To deactivate a package

Use the install deactivate command, followed by the install commit command.
Note   

The install commit command must be used to ensure that the deactivation of the model package is persistent across reloads. Subsequent attempts at removal of the package will fail, if the deactivation is not committed.

When you deactivate an update, if more than one model update package is installed, the most recently committed model update package becomes the model package used by the device. If there are no other previously committed model packages, then the base version of data models included with the standard image is used.

Rollback of the Update Package

Rollback provides a mechanism to move a device back to the state in which it was operating prior to an update. After a rollback, NETCONF-YANG processes are restarted before changes are visible.

You can roll back an update to the base version, the last committed version, or a known commit ID by using the install rollback command.

How to Manage In Service Software Updates

Managing the Update Package

SUMMARY STEPS

    1.    enable

    2.    install add file tftp: filename

    3.    install activate file bootflash: filename

    4.    install commit

    5.    install deactivate file bootflash: filename

    6.    install commit

    7.    install rollback to {base | committed | id commit-ID}

    8.    install remove {file bootflash: filename | inactive}

    9.    show install summary


DETAILED STEPS
     Command or ActionPurpose
    Step 1enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2install add file tftp: filename


    Example:
    Device# install add file tftp://172.16.0.1//tftpboot/folder1/
    asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin 
     

    Copies the model update package from a remote location (via FTP, TFTP) to the device, and performs a compatibility check for the platform and image versions.

    • You can use other methods to copy the update package from the remote location to the device, however; you still have to execute the install add command before the package is activated.

     
    Step 3install activate file bootflash: filename


    Example:
    Device# install activate file bootflash:asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
     

    Validates whether the update package is added through the install add command, and restarts the NETCONF processes.

    • Perform the install add operation prior to activating an update package.

     
    Step 4install commit


    Example:
    Device# install commit
     

    Makes the changes persistent over reload.

    • NETCONF processes are not restarted.

     
    Step 5install deactivate file bootflash: filename


    Example:
    Device# install deactivate file bootflash:
    asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
     

    Deactivates the specified update package, and restarts the NETCONF processes.

     
    Step 6install commit


    Example:
    Device# install commit
     

    Makes the changes persistent over reload.

    • NETCONF processes are not restarted.

     
    Step 7install rollback to {base | committed | id commit-ID}


    Example:
    Device# install rollback to base
     

    Rolls back the update to the base version, the last committed version, or a known commit ID, and restarts NETCONF processes.

    • Valid values for the commit-id argument are from 1 to 4294967295.

    • Older versions of data models updates are available for use.

     
    Step 8install remove {file bootflash: filename | inactive}


    Example:
    Device# install remove file bootflash:
    √asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
     

    Removes the specified update package from the bootflash.

    • A package must be deactivated before it is removed.

     
    Step 9show install summary


    Example:
    Device# show install summary
     

    Displays information about the active package.

    • The output of this command varies according to the install commands that are configured.

     

    Configuration Examples for In Service Software Updates

    Example: Managing an Update Package

    The following example shows how to add a model update package file:

    Device# install add file tftp://172.16.0.1//tftpboot/folder1/
    asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    
    install_add: START Sun Feb 26 05:57:04 UTC 2017
    Downloading file tftp://172.16.0.1//tftpboot/folder1/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    Finished downloading file tftp://172.16.0.1//tftpboot/folder1/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    to bootflash:asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    SUCCESS: install_add /bootflash/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin 
    Sun Feb 26 05:57:22 UTC 2017
    Device#
    
    

    The following is sample output from the show install summary command after adding an update package file to the device:

    Device# show install summary
    
    Active Packages:
    No packages
    Inactive Packages:
    bootflash: isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
    Committed Packages:
    No packages
    Uncommitted Packages:
    No packages
    Device#
    
    

    The following example shows how to activate an added update package file:

    Device# install activate file bootflash:
    asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    
    install_activate: START Sun Feb 26 05:58:41 UTC 2017
    DMP package.
    Netconf processes stopped
    SUCCESS: install_activate /bootflash/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin 
    Sun Feb 26 05:58:58 UTC 2017*Feb 26 05:58:47.655: %DMI-4-CONTROL_SOCKET_CLOSED: 
    SIP0: nesd: Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
    *Feb 26 05:58:47.661: %DMI-4-SUB_READ_FAIL: SIP0: vtyserverutild: 
    Confd subscription socket read failed Lost connection to ConfD (45): 
    EOF on socket to ConfD.
    *Feb 26 05:58:47.667: %DMI-4-CONTROL_SOCKET_CLOSED: SIP0: syncfd: 
    Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
    *Feb 26 05:59:43.269: %DMI-5-SYNC_START: SIP0: syncfd: 
    External change to running configuration detected. 
    The running configuration will be synchronized to the NETCONF running data store.
    *Feb 26 05:59:44.624: %DMI-5-SYNC_COMPLETE: SIP0: syncfd: 
    The running configuration has been synchronized to the NETCONF running data store.
    Device#
    
    

    The following sample output from the show install summary command displays the status of the model package as active and uncommitted:

    Device# show install summary
    
    Active Packages:
    bootflash:asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    Inactive Packages:
    No packages
    Committed Packages:
    No packages
    Uncommitted Packages:
    bootflash:asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    Device#
    
    

    The following example shows how to execute the install commit command:

    Device# install commit
    
    install_commit: START Sun Feb 26 06:46:48 UTC 2017
    SUCCESS: install_commit Sun Feb 26 06:46:52 UTC 2017
    Device#
    
    

    The following sample output from the show install summary command displays that the update package is now committed, and that it will be persistent across reloads:

    Device# show install summary
    
    Active Packages:
    bootflash:asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    Inactive Packages:
    No packages
    Committed Packages:
    bootflash:asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    Uncommitted Packages:
    No packages
    Device#
    
    

    The following example shows how to rollback an update package to the base package:

    Device# install rollback to base
    
    install_rollback: START Sun Feb 26 06:50:29 UTC 2017
    7 install_rollback: Restarting impacted processes to take effect
    7 install_rollback: restarting confd
    *Feb 26 06:50:34.957: %DMI-4-CONTROL_SOCKET_CLOSED: SIP0: syncfd: 
    Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
    *Feb 26 06:50:34.962: %DMI-4-CONTROL_SOCKET_CLOSED: SIP0: nesd: 
    Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
    *Feb 26 06:50:34.963: %DMI-4-SUB_READ_FAIL: SIP0: vtyserverutild: 
    Confd subscription socket read failed Lost connection to ConfD (45): 
    EOF on socket to ConfD.Netconf processes stopped
    7 install_rollback: DMP activate complete
    SUCCESS: install_rollback Sun Feb 26 06:50:41 UTC 2017
    *Feb 26 06:51:28.901: %DMI-5-SYNC_START: SIP0: syncfd: 
    External change to running configuration detected. 
    The running configuration will be synchronized to the NETCONF running data store.
    *Feb 26 06:51:30.339: %DMI-5-SYNC_COMPLETE: SIP0: syncfd: 
    The running configuration has been synchronized to the NETCONF running data store.
    Device#
    
    

    The following is sample output from the show install package command:

    Device# show install package bootflash:
    asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    
    Name: asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
    Version: 16.7.1.0.199.1484082952..Everest
    Platform: ASR1000
    Package Type: dmp
    Defect ID: CSCxxxxxxx
    Package State: Added
    Supersedes List: {}
    Smu ID: 1
    Device#
    
    

    The following sample NETCONF hello message verifies the new data model package version:

    Getting Capabilities: (admin @ 172.16.0.1:830)
    PROTOCOL netconf
    <?xml version="1.0" encoding="UTF-8"?>
    <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
    <capabilities>
    <capability>urn:ietf:params:netconf:base:1.0</capability>
    <capability>urn:ietf:params:netconf:base:1.1</capability>
    <capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability>
    <capability>urn:ietf:params:netconf:capability:xpath:1.0</capability>
    <capability>urn:ietf:params:netconf:capability:validate:1.0</capability>
    <capability>urn:ietf:params:netconf:capability:validate:1.1</capability>
    <capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability>
    <capability>urn:ietf:params:netconf:capability:notification:1.0</capability>
    <capability>urn:ietf:params:netconf:capability:interleave:1.0</capability>
    <capability>http://tail-f.com/ns/netconf/actions/1.0</capability>
    <capability>http://tail-f.com/ns/netconf/extensions</capability>
    <capability>urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=
    explicit&amp;also-supported=report-all-tagged</capability>
    <capability>urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?
    revision=2011-06-01&amp;module=ietf-netconf-with-defaults</capability>
    <capability>http://cisco.com/ns/yang/Cisco-IOS-XE-aaa?module=
    Cisco-IOS-XE-aaa&amp;revision=2017-02-07</capability>
    <<capability>http://cisco.com/ns/yang/Cisco-IOS-XE-native?module=
    Cisco-IOS-XE-native&amp;revision=2017-01-07&amp;features=virtual-
    template,punt-num,multilink,eth-evc,esmc,efp,dot1x</capability>
    Device#
    
    

    The following is sample output from the show install log command:

    Device# show install log
    
    [0|install_op_boot]: START Fri Feb 24 19:20:19 Universal 2017
    [0|install_op_boot]: END SUCCESS Fri Feb 24 19:20:23 Universal 2017
    [3|install_add]: START Sun Feb 26 05:55:31 UTC 2017
    [3|install_add( FATAL)]: File path (scp) is not yet supported for this command
    [4|install_add]: START Sun Feb 26 05:57:04 UTC 2017
    [4|install_add]: END SUCCESS /bootflash/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin 
    Sun Feb 26 05:57:22 UTC 2017
    [5|install_activate]: START Sun Feb 26 05:58:41 UTC 2017
    Device#
    
    

    Additional References for In Service Model Updates

    Related Documents

    Related Topic Document Title

    Programmability commands

     

    Technical Assistance

    Description Link

    The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

    To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

    Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

    http:/​/​www.cisco.com/​support

    Feature Information for In Service Model Update

    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 2 Feature Information for In Service Model Update

    Feature Name

    Release

    Feature Information

    In Service Model Update

    This module describes how to update YANG data models through In Service Model Update.

    This feature is supported on the following platforms:

      The following commands were introduced or updated: install (Programmability), show install (Programmability).