Neglected Parking Meter


Need private packages and team management tools?Check out npm Orgs. »


0.1.0 • Public • Published

Table of Contents


This artifact contains the Cisco IOS device upgrade workflow for NSO and Ansible using IAP. The workflow requires that a newer binary version file is already downloaded locally on the destination device (bootflash:), and file integrity has been verified (using md5). To satisfy these requirements, use the free file-transfer artifact available from Itential.

This solution consist of the following:

  • Main Workflow (IAP-Artifacts IOS Device Upgrade)

    • Perform device environmental checks. Verifies a device is on a different version than the requested one.
    • Perform pre-checks to confirm device readiness.
    • Backup the running-config locally on bootflash drive.
    • Perform boot statement configuration to direct the router to load the newer version upon the next boot.
    • Issue the reload command.
    • Wait for device to become available after reboot.
    • Confirm reliable connectivity (ping consistency).
    • Perform post-checks to verify the device functionality running the new version.
    • Show a Pre-Post Checks diff report.
    • Perform MOP analysis to verify no unexpected config changes occurred.
    • Show a MOP analysis report.
    • Perform rollback, if requested.
  • Command Templates

    • Will run the pre / post commands, and evaluate them against set thresholds.
  • Analytic Templates

    • Will run the pre vs. post comparisons, and evaluate them against set thresholds.
  • Service Catalog Entry with Form:

    • Allows user to pick destination device to run the upgrade on (NSO only: filters only ios devices).
    • Allows user to pick software version to upgrade to (file names are hard-coded in form).


  • Automatically find the device orchestrator.
  • Perform readiness checks prior to any change, and functionality verifications after changes have been applied.
  • Allow for a rollback in case functionality checks have failed.
  • Show a conclusive report with the Pre vs. Post diff.

Known Limitations

  • The Itential-Artifacts IOS Device Upgrade form only allows IOS device names coming from NSO.
  • The Itential-Artifacts IOS Device Upgrade (no device verification) form does not perform any device name varifications. The form is meant to be used with devices that reside on Ansible.

Job Variables

The following job variables are required to start the workflow:

  • version - File name of the new software ( Ex. csr1000v-universalk9.03.10.02.S.153-3.S2-ext.SPA.bin).
  • device - Device hostname as on-boarded in NSO or Ansible.

Supported Device Types

  • Cisco IOS

Test Environment

  • NSO Ver.: 4.7.1
  • NEDs Ver.:
    • cisco-ios: 6.3.1
    • itential-tools: 1.16.0
  • Devices Ver.:
    • ios: 16.03.07
  • IAP Ver. 2019.1.4
  • Ansible Manager Ver.: 1.33.11+2019.1.21
  • Ansible Ver.: 2.7.10


Starting the upgrade can be invoked from Service Catalog. If no service is available, navigate to the Service Catalog Builder app and verify all required fields:

  • variable name (incoming)
  • groups (Itential Artifact)
  • job groups (Itential Artifact)
  • form - IAP-Artifacts IOS Device Upgrade (with NSO IOS device name verification) or Itential-Artifacts IOS Device Upgrade (no device verification)
  • workflow - IAP Artifacts IOS Upgrade

How to Install

  • To install this artifact in IAP, use App-Artifact available in Nexus repo.


npm i @itentialopensource/cisco-ios-upgrade

Downloadsweekly downloads









last publish


  • avatar
  • avatar
  • avatar
Report a vulnerability