npm package: @itentialopensource/cisco-nx-os-upgrade
Description: Itential Artifact to upgrade Cisco Nexus devices 
Author: Itential Artifacts
Latest version: 1.0.7-2023.1.0

<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->

<!-- Update the below line with your pre-built name -->
# Cisco NX-OS Software Upgrade

<!-- Leave TOC intact unless you've added or removed headers -->
## Table of Contents

- [Cisco NX-OS Software Upgrade](#cisco-nx-os-software-upgrade)
  - [Table of Contents](#table-of-contents)
  - [Overview](#overview)
  - [Supported IAP Versions](#supported-iap-versions)
  - [Getting Started](#getting-started)
    - [Prerequisites](#prerequisites)
    - [Capabilities](#capabilities)
    - [How to Install](#how-to-install)
    - [Testing](#testing)
  - [Using this Pre-Built](#using-this-pre-built)
    - [Input Schema](#input-schema)
    - [Output Schema](#output-schema)
  - [Additional Information](#additional-information)

## Overview

<!-- Write a few sentences about the pre-built and explain the use case(s) -->
<!-- Ex.: The Migration Wizard enables IAP users to conveniently move their automation2 use cases between different IAP environments -->
<!-- (e.g. from Dev to Pre-Production or from Lab to Production). -->
This pre-built contains the Cisco NX-OS Software Upgrade, designed to upgrade firmware on Cisco Nexus 5/7/9k Devices.  You will need to provide device hostname (from NSO or Ansible), firmware filename (should be already located on the device) and mode of operation (Verbose or Zero-Touch).


<!-- ADD ESTIMATED RUN TIME HERE -->
<!-- e.g. Estimated Run Time: 34 min. -->
_Estimated Run Time_: 15 minutes

## Supported IAP Versions

Itential pre-builts are built and tested on particular versions of IAP. In addition, pre-builts that work with devices are often dependent on certain orchestration systems (e.g. NSO and IAG). As such, these pre-builts will have dependencies on these other systems. This version of the Cisco NX-OS Software Upgrade pre-built has been tested with:

- IAP 2023.1.x

## Getting Started

These instructions will help you get a copy of the pre-built in your IAP instance for testing in your environment. Reading this section is also helpful for deployments as it provides you with pertinent information on prerequisites and capabilities.

### Prerequisites

Users must satisfy the following prerequisites to install and run this pre-built:

* Itential Automation Platform
  *  `^2023.1.x`
* An instantiated IAP NSO or IAG adapter
* Cisco NX-OS Device - with the new firmware binary already downloaded and integrity-verified

### Capabilities

  * Notification placeholders to be quickly configured to use your favorite notification platform (ex: email)
  * Follows Cisco Documentation for ordering and procedure
  * 2 modes of operation: zero-touch and verbose
  * Allow rollback changes in verbose mode
  * Configuration snapshot via IAP configuration manager pre-change and post change

### How to Install

To install this pre-built:

- Verify that you are running the documented [prerequisites](#prerequisites) to install the pre-built.

- Follow the instructions on the Itential Documentation site for [importing a pre-built](https://docs.itential.com/docs/importing-a-prebuilt-2).

### Testing

While Itential tests this pre-built and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this pre-built into a development/testing environment in which you can test the pre-built.

## Using this Pre-Built

**Note**: If onboarding a new IAG device, will need to manually set variable `netmiko_device_type` to `cisco_nxos` in IAG as that property is needed and cannot be set over the IAG adapter currently. 

This pre-built can be run as a standalone Operations Manager automation or as a [childJob task](https://docs.itential.com/docs/childjob-1).

**Note**: The entry point to run this pre-built as a standalone Operations Manager automation is called `NX OS Device Upgrade`. The entry point to run this pre-built as a childJob task is called `CNXOSU: Software Upgrade.` 

Running this pre-built depends on providing the proper input so that the device(s) can be discovered in IAG as expected and so that only the allowed inputs in IAG are being updated. The input to and possible outputs from this pre-built are described here.

### Input Schema

Running Pre-Built as a Standalone Automation:
- Go to Operations Manager and select the `NX OS Device Upgrade` automation. Run the automation. Fill out the form with necessary information and click at Run icon. It triggers the `CNXOSU: Wrapper` workflow whose input will be something like this:

```json
{
  "formData": {
    "autoApprove": true,
    "reattempt": true,
    "reattemptWaitTime": 2,
    "reattemptQuantity": 10,
    "deviceName": "nx03-atl",
    "healthCheckVariables": {
      "healthCheckDelayTime": 300,
      "numberOfRetriesStability": 5,
      "secondsBetweenRetry": 270,
      "numberOfRetries": 10
    },
    "templateVariables": {
      "flashMemory": "bootflash:",
      "firmware": "nxos.9.2.4.bin"
    }
  }
}
```

Running Pre-Built as a Childjob:
- To run this prebuilt as a childjob, run the workflow `CNXOSU: Software Upgrade` as a childjob task. An example input for this workflow is:

```json
{
  "autoApprove": true,
  "templateVariables": {
    "flashMemory": "bootflash:",
    "firmware": "nxos.9.2.4.bin"
  },
  "reattempt": true,
  "reattemptWaitTime": 2,
  "reattemptQuantity": 10,
  "deviceName": "nx03-atl",
  "healthCheckVariables": {
    "healthCheckDelayTime": 300,
    "numberOfRetriesStability": 5,
    "secondsBetweenRetry": 270,
    "numberOfRetries": 10
  }
}
```


The following table details the property keys of the input object.
| key                                      | type    | required | description |
|------------------------------------------|---------|----------|---------------------------------------------------------|
| autoApprove                               | boolean | yes     | auto approve |
| reattempt                                 | boolean | yes     | reattempt    |
| reattemptWaitTime                         | integer | yes     | wait time for reattempt |
| reattemptQuantity                         | integer | yes     | number of reattempts    |
| deviceName                                | string  | yes     | name of device  |
| healthCheckVariables                      | object  | yes     | variables for connection health check |
| healthCheckVariables.healthCheckDelayTime | integer | yes     | delay time for connection health check |
| healthCheckVariables.numberOfRetriesStability  | integer | yes     | number to test against for total number of successes |
| healthCheckVariables.secondsBetweenRetry  | integer | yes     | seconds between retries |
| healthCheckVariables.numberOfRetries      | integer | yes     | number of reattempts for an adapter failure |
| templateVariables                         | object  | yes     | variables for upgrade |
| templateVariables.flashMemory             | string  | yes     | bootflash memory |
| templateVariables.firmware                | string  | yes     | version to upgrade to |             


### Output Schema
Example output for a successfully upgraded device
```json
{
  "ReturnStatus": {
    "response": {
      "show_version_check": {
        "response": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "show version",
              "all_pass_flag": true,
              "evaluated": "show version",
              "parameters": {},
              "rules": [
                {
                  "rule": "nxos.9.2.4.bin",
                  "eval": "!contains",
                  "severity": "error",
                  "flags": {
                    "case": false
                  },
                  "evaluation": "error",
                  "raw": "<!firmware!>",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "Cisco Nexus Operating System (NX-OS) Software\nTAC support: http://www.cisco.com/tac\nDocuments: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_series_home.html\nCopyright (c) 2002-2018, Cisco Systems, Inc. All rights reserved.\nThe copyrights to certain works contained herein are owned by\nother third parties and are used and distributed under license.\nSome parts of this software are covered under the GNU Public\nLicense. A copy of the license is available at\nhttp://www.gnu.org/licenses/gpl.html.\n\nNexus 9000v is a demo version of the Nexus Operating System\n\nSoftware\n  BIOS: version \n NXOS: version 9.2(2)\n  BIOS compile time:  \n  NXOS image file is: bootflash:///nxos.9.2.2.bin\n  NXOS compile time:  11/4/2018 21:00:00 [11/05/2018 06:11:06]\n\n\nHardware\n  cisco Nexus9000 9000v Chassis \n  Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz with 8133476 kB of memory.\n  Processor Board ID 99ZQXME9M7G\n\n  Device name: switch\n  bootflash:    3509454 kB\nKernel uptime is 2 day(s), 19 hour(s), 27 minute(s), 34 second(s)\n\nLast reset \n  Reason: Unknown\n  System version: \n  Service: \n\nplugin\n  Core Plugin, Ethernet Plugin\n\nActive Package(s):\n        \n",
              "result": true
            },
            {
              "raw": "show running | include boot",
              "all_pass_flag": true,
              "evaluated": "show running | include boot",
              "parameters": {},
              "rules": [
                {
                  "rule": "nxos.9.2.4.bin",
                  "eval": "!contains",
                  "severity": "error",
                  "evaluation": "error",
                  "raw": "<!firmware!>",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "boot nxos bootflash:/nxos.9.2.2.bin \n",
              "result": true
            }
          ],
          "name": "CNXOSU: Pre Show Version"
        },
        "error_details": "\"\"",
        "error_message": "\"\""
      },
      "file_verification_check": {
        "response": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "dir <!flashMemory!><!firmware!>",
              "all_pass_flag": true,
              "evaluated": "dir bootflash:nxos.9.2.4.bin",
              "command": "dir bootflash:nxos.9.2.4.bin",
              "parameters": {
                "flashMemory": "bootflash:",
                "firmware": "nxos.9.2.4.bin"
              },
              "rules": [
                {
                  "rule": "No such file or directory",
                  "eval": "!contains",
                  "severity": "error",
                  "raw": "No such file or directory",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": " 1339749888    Nov 09 15:27:09 2022  nxos.9.2.4.bin\n\nUsage for bootflash://sup-local\n 2843189248 bytes used\n  626921472 bytes free\n 3470110720 bytes total\n",
              "result": true
            }
          ],
          "name": "CNXOSU: File Verification"
        },
        "error_details": "\"\"",
        "error_message": "\"\""
      },
      "pre_post_diff": {
        "status": "complete",
        "post": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "show ip interface brief",
              "all_pass_flag": true,
              "evaluated": "show ip interface brief",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "\nIP Interface Status for VRF \"default\"(1)\nInterface            IP Address      Interface Status\n",
              "result": true
            },
            {
              "raw": "show license",
              "all_pass_flag": true,
              "evaluated": "show license",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "",
              "result": true
            },
            {
              "raw": "show clock",
              "all_pass_flag": true,
              "evaluated": "show clock",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "10:46:35.711 UTC Mon Mar 20 2023\nTime source is NTP\n",
              "result": true
            },
            {
              "raw": "show logging",
              "all_pass_flag": true,
              "evaluated": "show logging",
              "parameters": {},
              "rules": [
                {
                  "rule": "Fatal",
                  "eval": "!contains",
                  "severity": "error",
                  "flags": {
                    "case": true
                  },
                  "raw": "Fatal",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "The task includes an option with an undefined variable. The error was: {'host': '{{ ansible_host }}', 'device_type': '{{ netmiko_device_type }}', 'username': '{{ ansible_user }}', 'password': '{{ ansible_password }}', 'global_delay_factor': 2}: 'netmiko_device_type' is undefined\n\nThe error appears to be in '/home/itential/automation-gateway/lib/python3.9/site-packages/automation_gateway/integrations/roles/itential_netmiko_cli/tasks/main.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: \"itential_cli response\"\n  ^ here\n",
              "result": true
            }
          ],
          "name": "CNXOSU: Postchecks"
        },
        "pre": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "show ip interface brief",
              "all_pass_flag": true,
              "evaluated": "show ip interface brief",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "\nIP Interface Status for VRF \"default\"(1)\nInterface            IP Address      Interface Status\n",
              "result": true
            },
            {
              "raw": "show license",
              "all_pass_flag": true,
              "evaluated": "show license",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "",
              "result": true
            },
            {
              "raw": "show clock",
              "all_pass_flag": true,
              "evaluated": "show clock",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "10:24:10.185 UTC Mon Mar 20 2023\nTime source is NTP\n",
              "result": true
            },
            {
              "raw": "show logging",
              "all_pass_flag": true,
              "evaluated": "show logging",
              "parameters": {},
              "rules": [
                {
                  "rule": "Fatal",
                  "eval": "!contains",
                  "severity": "error",
                  "flags": {
                    "case": true
                  },
                  "raw": "Fatal",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "\nLogging console:                enabled (Severity: critical)\nLogging monitor:                enabled (Severity: notifications)\nLogging linecard:               enabled (Severity: notifications)\nLogging timestamp:              Seconds\nLogging source-interface :      disabled\nLogging rate-limit:             enabled\nLogging server:                 enabled\n{10.1.0.211}\n        server severity:        information\n        server facility:        local7\n        server VRF:             default\n        server port:            514\nLogging origin_id :             disabled\nLogging logflash:               enabled (Severity: notifications)\nLogging logfile:                enabled\n        Name - messages: Severity - notifications Size - 4194304\n\n\nFacility        Default Severity        Current Session Severity\n--------        ----------------        ------------------------\naaa                     3                       3\nacllog                  2                       2\naclmgr                  3                       3\naclqos                  5                       5\nadbm                    2                       2\narp                     3                       3\nauth                    0                       0\nauthpriv                3                       3\nbootvar                 5                       5\ncallhome                2                       2\ncapability              2                       2\ncdp                     2                       2\ncert_enroll             2                       2\ncfs                     3                       3\nclis                    3                       3\nclk_mgr                 2                       2\nconfcheck               2                       2\ncopp                    2                       2\ncron                    3                       3\ndaemon                  3                       3\ndevice_test             3                       3\ndhclient                2                       2\ndiag_port_lb            2                       2\ndiagclient              2                       2\ndiagmgr                 2                       2\necp                     5                       5\neltm                    2                       2\neth_port_channel        5                       5\nethpm                   5                       5\nevmc                    5                       5\nevms                    2                       2\nfeature-mgr             2                       2\nfs-daemon               2                       2\nftp                     3                       3\nifmgr                   5                       5\nigmp_1                  5                       5\nip                      3                       3\nipfib                   2                       2\nipqosmgr                4                       4\nipv6                    3                       3\nkern                    3                       3\nl2fm                    2                       2\nl2fwd                   2                       2\nl2pt                    3                       3\nl3vm                    5                       5\nlicmgr                  6                       6\nlocal0                  3                       3\nlocal1                  3                       3\nlocal2                  3                       3\nlocal3                  3                       3\nlocal4                  3                       3\nlocal5                  3                       3\nlocal6                  3                       3\nlocal7                  3                       3\nlpr                     3                       3\nm2rib                   2                       2\nm6rib                   5                       5\nmail                    3                       3\nmcm                     2                       2\nmfdm                    2                       2\nmmode                   2                       2\nmodule                  5                       5\nmonitor                 3                       3\nmrib                    5                       5\nmvsh                    2                       2\nnews                    3                       3\nntp                     2                       2\notm                     3                       3\npfstat                  2                       2\npixm_gl                 4                       4\npixm_vl                 4                       4\nplatform                5                       5\nplcmgr                  2                       2\nplugin                  2                       2\nport-profile            2                       2\nradius                  3                       3\nres_mgr                 5                       5\nrpm                     5                       5\nsal                     2                       2\nsecurityd               3                       3\nsksd                    3                       3\nsmm                     4                       4\nsnmpd                   2                       2\nspan                    3                       3\nspm                     2                       2\nstp                     3                       3\nsyslog                  3                       3\nsysmgr                  3                       3\ntamnw                   2                       2\ntemplate_manager        2                       2\nu6rib                   5                       5\nufdm                    3                       3\nurib                    5                       5\nuser                    3                       3\nuucp                    3                       3\nvdc_mgr                 6                       6\nvirtual-service         5                       5\nvlan_mgr                2                       2\nvshd                    5                       5\nxbar                    5                       5\nxmlma                   3                       3\n\n0(emergencies)          1(alerts)       2(critical)\n3(errors)               4(warnings)     5(notifications)\n6(information)          7(debugging\n\n\n2023 Mar 17 14:56:31 switch %USER-0-SYSTEM_MSG:  before access to bkout_cfg  - clis\n2023 Mar 17 14:56:33 switch  %USER-2-SYSTEM_MSG: <<%USBHSD-2-MOUNT>> logflash: online  - usbhsd\n2023 Mar 17 14:56:33 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to create pending \n2023 Mar 17 14:56:35 switch  %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Binary restore - ascii-cfg[27346]\n2023 Mar 17 14:56:35 switch  %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Restore DME database - ascii-cfg[27346]\n2023 Mar 17 14:56:39 switch netstack: Registration with cli server complete\n2023 Mar 17 14:56:52 switch %USER-2-SYSTEM_MSG: ssnmgr_app_init called on ssnmgr up - aclmgr\n2023 Mar 17 14:56:59 switch %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by root on vsh.bin.29983\n2023 Mar 17 14:56:59 switch %USER-0-SYSTEM_MSG: end of default policer - copp\n2023 Mar 17 14:57:01 switch %CARDCLIENT-2-FPGA_BOOT_GOLDEN: IOFPGA booted from Golden\n2023 Mar 17 14:57:01 switch %CARDCLIENT-2-FPGA_BOOT_STATUS: Unable to retrieve MIFPGA boot status\n2023 Mar 17 14:57:01 switch %CARDCLIENT-5-MOD_BOOT_GOLDEN: Module 1 IOFPGA booted from Golden\n2023 Mar 17 14:57:01 switch %CARDCLIENT-5-MOD_BOOT_PRIMARY: Module 1 BIOS booted from Primary\n2023 Mar 17 14:57:32 switch %MODULE-5-ACTIVE_SUP_OK: Supervisor 1 is active (Serial number: 99ZQXME9M7G)\n2023 Mar 17 14:57:32 switch %PLATFORM-5-MOD_STATUS: SUP sub Module 1 current-status is MOD_STATUS_ONLINE/OK\n2023 Mar 17 14:57:32 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to create in progress \n2023 Mar 17 14:57:32 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Started.\n2023 Mar 17 14:57:32 switch %IM-5-IM_INTF_STATE: mgmt0 is DOWN in vdc 1\n2023 Mar 17 14:57:32 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Done.\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel13 created\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel14 created\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel15 created\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel16 created\n2023 Mar 17 14:57:33 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to active \n2023 Mar 17 14:57:33 switch %VDC_MGR-2-VDC_ONLINE: vdc 1 has come online \n2023 Mar 17 14:57:33 switch %VDC_MGR-5-VDC_HOSTNAME_CHANGE: vdc 1 hostname changed to switch \n2023 Mar 17 14:57:35 switch %USER-1-SYSTEM_MSG: SWINIT failed. devid:241 inst:0  - t2usd\n2023 Mar 17 14:57:38 switch %IM-5-IM_INTF_STATE: mgmt0 is UP in vdc 1\n2023 Mar 17 14:58:00 switch %VMAN-5-PACKAGE_SIGNING_LEVEL_ON_INSTALL: Package 'guestshell.ova' for service container 'guestshell+' is 'Cisco signed', matches signing level cached on original install, signing level allowed is 'Cisco signed'\n2023 Mar 17 14:58:06 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to updating \n2023 Mar 17 14:58:06 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to active \n2023 Mar 17 14:58:23 switch %MODULE-5-MOD_OK: Module 1 is online (Serial number: 99ZQXME9M7G)\n2023 Mar 17 14:58:23 switch %PLATFORM-5-MOD_STATUS: LC sub Module 1 current-status is MOD_STATUS_ONLINE/OK\n2023 Mar 17 14:58:23 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Started.\n2023 Mar 17 14:58:24 switch %ACLQOS-SLOT1-2-ACLQOS_FAILED: ACLQOS failure: TCAM region is not configured for feature QoS class IPv4 direction ingress. Please configure TCAM region Ingress COPP [copp] and retry the command. \n2023 Mar 17 14:58:27 switch %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by  on vsh.bin.32561\n2023 Mar 17 14:58:33 switch last message repeated 1 time\n2023 Mar 17 14:58:33 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Done.\n2023 Mar 17 14:58:34 switch %ASCII-CFG-2-CONF_CONTROL: System ready\n2023 Mar 17 14:58:45 switch %VMAN-2-ACTIVATION_STATE: Successfully activated virtual service 'guestshell+'  \n2023 Mar 17 14:58:45 switch %VMAN-2-GUESTSHELL_ENABLED: The guest shell has been enabled. The command 'guestshell' may be used to access it, 'guestshell destroy' to remove it.\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: ^M\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: CentOS Linux 7 (Core)\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: Kernel 4.1.21-WR8.0.0.25-standard on an x86_64\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: \n",
              "result": true
            }
          ],
          "name": "CNXOSU: Prechecks"
        },
        "_id": "659acce350a647f1ab456a13",
        "initiator": "admin@pronghorn",
        "diff": "Common\n\nCommand: show ip interface brief \nDevice: nx03-atl \nResponse : \n\nIP Interface Status for VRF \"default\"(1)\nInterface            IP Address      Interface Status\n\n\nCommand: show license \nDevice: nx03-atl \nResponse : \n\n\nCommand: show clock \nDevice: nx03-atl \nResponse : \n- 10:24:10.185 UTC Mon Mar 20 2023\n+ 10:46:35.711 UTC Mon Mar 20 2023 \nTime source is NTP \n\n\nCommand: show logging \nDevice: nx03-atl \nResponse : \n- \n+ The task includes an option with an undefined variable. The error was: {'host': '{{ ansible_host }}', 'device_type': '{{ netmiko_device_type }}', 'username': '{{ ansible_user }}', 'password': '{{ ansible_password }}', 'global_delay_factor': 2}: 'netmiko_device_type' is undefined \n- Logging console:                enabled (Severity: critical)\n+  \n- Logging monitor:                enabled (Severity: notifications)\n+ The error appears to be in '/home/itential/automation-gateway/lib/python3.9/site-packages/automation_gateway/integrations/roles/itential_netmiko_cli/tasks/main.yml': line 2, column 3, but may \n- Logging linecard:               enabled (Severity: notifications)\n+ be elsewhere in the file depending on the exact syntax problem. \n- Logging timestamp:              Seconds\n+  \n- Logging source-interface :      disabled\n+ The offending line appears to be: \n- Logging rate-limit:             enabled\n+  \n- Logging server:                 enabled\n+ --- \n- {10.1.0.211}\n+ - name: \"itential_cli response\" \n-         server severity:        information\n+   ^ here \n-         server facility:        local7\n+  \n-         server VRF:             default\n+ undefined \n-         server port:            514\n+ undefined \n- Logging origin_id :             disabled\n+ undefined \n- Logging logflash:               enabled (Severity: notifications)\n+ undefined \n- Logging logfile:                enabled\n+ undefined \n-         Name - messages: Severity - notifications Size - 4194304\n+ undefined \n- \n+ undefined \n- \n+ undefined \n- Facility        Default Severity        Current Session Severity\n+ undefined \n- --------        ----------------        ------------------------\n+ undefined \n- aaa                     3                       3\n+ undefined \n- acllog                  2                       2\n+ undefined \n- aclmgr                  3                       3\n+ undefined \n- aclqos                  5                       5\n+ undefined \n- adbm                    2                       2\n+ undefined \n- arp                     3                       3\n+ undefined \n- auth                    0                       0\n+ undefined \n- authpriv                3                       3\n+ undefined \n- bootvar                 5                       5\n+ undefined \n- callhome                2                       2\n+ undefined \n- capability              2                       2\n+ undefined \n- cdp                     2                       2\n+ undefined \n- cert_enroll             2                       2\n+ undefined \n- cfs                     3                       3\n+ undefined \n- clis                    3                       3\n+ undefined \n- clk_mgr                 2                       2\n+ undefined \n- confcheck               2                       2\n+ undefined \n- copp                    2                       2\n+ undefined \n- cron                    3                       3\n+ undefined \n- daemon                  3                       3\n+ undefined \n- device_test             3                       3\n+ undefined \n- dhclient                2                       2\n+ undefined \n- diag_port_lb            2                       2\n+ undefined \n- diagclient              2                       2\n+ undefined \n- diagmgr                 2                       2\n+ undefined \n- ecp                     5                       5\n+ undefined \n- eltm                    2                       2\n+ undefined \n- eth_port_channel        5                       5\n+ undefined \n- ethpm                   5                       5\n+ undefined \n- evmc                    5                       5\n+ undefined \n- evms                    2                       2\n+ undefined \n- feature-mgr             2                       2\n+ undefined \n- fs-daemon               2                       2\n+ undefined \n- ftp                     3                       3\n+ undefined \n- ifmgr                   5                       5\n+ undefined \n- igmp_1                  5                       5\n+ undefined \n- ip                      3                       3\n+ undefined \n- ipfib                   2                       2\n+ undefined \n- ipqosmgr                4                       4\n+ undefined \n- ipv6                    3                       3\n+ undefined \n- kern                    3                       3\n+ undefined \n- l2fm                    2                       2\n+ undefined \n- l2fwd                   2                       2\n+ undefined \n- l2pt                    3                       3\n+ undefined \n- l3vm                    5                       5\n+ undefined \n- licmgr                  6                       6\n+ undefined \n- local0                  3                       3\n+ undefined \n- local1                  3                       3\n+ undefined \n- local2                  3                       3\n+ undefined \n- local3                  3                       3\n+ undefined \n- local4                  3                       3\n+ undefined \n- local5                  3                       3\n+ undefined \n- local6                  3                       3\n+ undefined \n- local7                  3                       3\n+ undefined \n- lpr                     3                       3\n+ undefined \n- m2rib                   2                       2\n+ undefined \n- m6rib                   5                       5\n+ undefined \n- mail                    3                       3\n+ undefined \n- mcm                     2                       2\n+ undefined \n- mfdm                    2                       2\n+ undefined \n- mmode                   2                       2\n+ undefined \n- module                  5                       5\n+ undefined \n- monitor                 3                       3\n+ undefined \n- mrib                    5                       5\n+ undefined \n- mvsh                    2                       2\n+ undefined \n- news                    3                       3\n+ undefined \n- ntp                     2                       2\n+ undefined \n- otm                     3                       3\n+ undefined \n- pfstat                  2                       2\n+ undefined \n- pixm_gl                 4                       4\n+ undefined \n- pixm_vl                 4                       4\n+ undefined \n- platform                5                       5\n+ undefined \n- plcmgr                  2                       2\n+ undefined \n- plugin                  2                       2\n+ undefined \n- port-profile            2                       2\n+ undefined \n- radius                  3                       3\n+ undefined \n- res_mgr                 5                       5\n+ undefined \n- rpm                     5                       5\n+ undefined \n- sal                     2                       2\n+ undefined \n- securityd               3                       3\n+ undefined \n- sksd                    3                       3\n+ undefined \n- smm                     4                       4\n+ undefined \n- snmpd                   2                       2\n+ undefined \n- span                    3                       3\n+ undefined \n- spm                     2                       2\n+ undefined \n- stp                     3                       3\n+ undefined \n- syslog                  3                       3\n+ undefined \n- sysmgr                  3                       3\n+ undefined \n- tamnw                   2                       2\n+ undefined \n- template_manager        2                       2\n+ undefined \n- u6rib                   5                       5\n+ undefined \n- ufdm                    3                       3\n+ undefined \n- urib                    5                       5\n+ undefined \n- user                    3                       3\n+ undefined \n- uucp                    3                       3\n+ undefined \n- vdc_mgr                 6                       6\n+ undefined \n- virtual-service         5                       5\n+ undefined \n- vlan_mgr                2                       2\n+ undefined \n- vshd                    5                       5\n+ undefined \n- xbar                    5                       5\n+ undefined \n- xmlma                   3                       3\n+ undefined \n- \n+ undefined \n- 0(emergencies)          1(alerts)       2(critical)\n+ undefined \n- 3(errors)               4(warnings)     5(notifications)\n+ undefined \n- 6(information)          7(debugging\n+ undefined \n- \n+ undefined \n- \n+ undefined \n- 2023 Mar 17 14:56:31 switch %USER-0-SYSTEM_MSG:  before access to bkout_cfg  - clis\n+ undefined \n- 2023 Mar 17 14:56:33 switch  %USER-2-SYSTEM_MSG: <<%USBHSD-2-MOUNT>> logflash: online  - usbhsd\n+ undefined \n- 2023 Mar 17 14:56:33 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to create pending \n+ undefined \n- 2023 Mar 17 14:56:35 switch  %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Binary restore - ascii-cfg[27346]\n+ undefined \n- 2023 Mar 17 14:56:35 switch  %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Restore DME database - ascii-cfg[27346]\n+ undefined \n- 2023 Mar 17 14:56:39 switch netstack: Registration with cli server complete\n+ undefined \n- 2023 Mar 17 14:56:52 switch %USER-2-SYSTEM_MSG: ssnmgr_app_init called on ssnmgr up - aclmgr\n+ undefined \n- 2023 Mar 17 14:56:59 switch %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by root on vsh.bin.29983\n+ undefined \n- 2023 Mar 17 14:56:59 switch %USER-0-SYSTEM_MSG: end of default policer - copp\n+ undefined \n- 2023 Mar 17 14:57:01 switch %CARDCLIENT-2-FPGA_BOOT_GOLDEN: IOFPGA booted from Golden\n+ undefined \n- 2023 Mar 17 14:57:01 switch %CARDCLIENT-2-FPGA_BOOT_STATUS: Unable to retrieve MIFPGA boot status\n+ undefined \n- 2023 Mar 17 14:57:01 switch %CARDCLIENT-5-MOD_BOOT_GOLDEN: Module 1 IOFPGA booted from Golden\n+ undefined \n- 2023 Mar 17 14:57:01 switch %CARDCLIENT-5-MOD_BOOT_PRIMARY: Module 1 BIOS booted from Primary\n+ undefined \n- 2023 Mar 17 14:57:32 switch %MODULE-5-ACTIVE_SUP_OK: Supervisor 1 is active (Serial number: 99ZQXME9M7G)\n+ undefined \n- 2023 Mar 17 14:57:32 switch %PLATFORM-5-MOD_STATUS: SUP sub Module 1 current-status is MOD_STATUS_ONLINE/OK\n+ undefined \n- 2023 Mar 17 14:57:32 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to create in progress \n+ undefined \n- 2023 Mar 17 14:57:32 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Started.\n+ undefined \n- 2023 Mar 17 14:57:32 switch %IM-5-IM_INTF_STATE: mgmt0 is DOWN in vdc 1\n+ undefined \n- 2023 Mar 17 14:57:32 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Done.\n+ undefined \n- 2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel13 created\n+ undefined \n- 2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel14 created\n+ undefined \n- 2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel15 created\n+ undefined \n- 2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel16 created\n+ undefined \n- 2023 Mar 17 14:57:33 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to active \n+ undefined \n- 2023 Mar 17 14:57:33 switch %VDC_MGR-2-VDC_ONLINE: vdc 1 has come online \n+ undefined \n- 2023 Mar 17 14:57:33 switch %VDC_MGR-5-VDC_HOSTNAME_CHANGE: vdc 1 hostname changed to switch \n+ undefined \n- 2023 Mar 17 14:57:35 switch %USER-1-SYSTEM_MSG: SWINIT failed. devid:241 inst:0  - t2usd\n+ undefined \n- 2023 Mar 17 14:57:38 switch %IM-5-IM_INTF_STATE: mgmt0 is UP in vdc 1\n+ undefined \n- 2023 Mar 17 14:58:00 switch %VMAN-5-PACKAGE_SIGNING_LEVEL_ON_INSTALL: Package 'guestshell.ova' for service container 'guestshell+' is 'Cisco signed', matches signing level cached on original install, signing level allowed is 'Cisco signed'\n+ undefined \n- 2023 Mar 17 14:58:06 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to updating \n+ undefined \n- 2023 Mar 17 14:58:06 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to active \n+ undefined \n- 2023 Mar 17 14:58:23 switch %MODULE-5-MOD_OK: Module 1 is online (Serial number: 99ZQXME9M7G)\n+ undefined \n- 2023 Mar 17 14:58:23 switch %PLATFORM-5-MOD_STATUS: LC sub Module 1 current-status is MOD_STATUS_ONLINE/OK\n+ undefined \n- 2023 Mar 17 14:58:23 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Started.\n+ undefined \n- 2023 Mar 17 14:58:24 switch %ACLQOS-SLOT1-2-ACLQOS_FAILED: ACLQOS failure: TCAM region is not configured for feature QoS class IPv4 direction ingress. Please configure TCAM region Ingress COPP [copp] and retry the command. \n+ undefined \n- 2023 Mar 17 14:58:27 switch %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by  on vsh.bin.32561\n+ undefined \n- 2023 Mar 17 14:58:33 switch last message repeated 1 time\n+ undefined \n- 2023 Mar 17 14:58:33 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Done.\n+ undefined \n- 2023 Mar 17 14:58:34 switch %ASCII-CFG-2-CONF_CONTROL: System ready\n+ undefined \n- 2023 Mar 17 14:58:45 switch %VMAN-2-ACTIVATION_STATE: Successfully activated virtual service 'guestshell+'  \n+ undefined \n- 2023 Mar 17 14:58:45 switch %VMAN-2-GUESTSHELL_ENABLED: The guest shell has been enabled. The command 'guestshell' may be used to access it, 'guestshell destroy' to remove it.\n+ undefined \n- 2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: ^M\n+ undefined \n- 2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: CentOS Linux 7 (Core)\n+ undefined \n- 2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: Kernel 4.1.21-WR8.0.0.25-standard on an x86_64\n+ undefined \n- 2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: \n+ undefined \n- \n+ undefined\n \n \nPre-Check Only \n \nPost-Check Only\n\n "
      },
      "pre_checks": {
        "response": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "show ip interface brief",
              "all_pass_flag": true,
              "evaluated": "show ip interface brief",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "\nIP Interface Status for VRF \"default\"(1)\nInterface            IP Address      Interface Status\n",
              "result": true
            },
            {
              "raw": "show license",
              "all_pass_flag": true,
              "evaluated": "show license",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "",
              "result": true
            },
            {
              "raw": "show clock",
              "all_pass_flag": true,
              "evaluated": "show clock",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "10:24:10.185 UTC Mon Mar 20 2023\nTime source is NTP\n",
              "result": true
            },
            {
              "raw": "show logging",
              "all_pass_flag": true,
              "evaluated": "show logging",
              "parameters": {},
              "rules": [
                {
                  "rule": "Fatal",
                  "eval": "!contains",
                  "severity": "error",
                  "flags": {
                    "case": true
                  },
                  "raw": "Fatal",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "\nLogging console:                enabled (Severity: critical)\nLogging monitor:                enabled (Severity: notifications)\nLogging linecard:               enabled (Severity: notifications)\nLogging timestamp:              Seconds\nLogging source-interface :      disabled\nLogging rate-limit:             enabled\nLogging server:                 enabled\n{10.1.0.211}\n        server severity:        information\n        server facility:        local7\n        server VRF:             default\n        server port:            514\nLogging origin_id :             disabled\nLogging logflash:               enabled (Severity: notifications)\nLogging logfile:                enabled\n        Name - messages: Severity - notifications Size - 4194304\n\n\nFacility        Default Severity        Current Session Severity\n--------        ----------------        ------------------------\naaa                     3                       3\nacllog                  2                       2\naclmgr                  3                       3\naclqos                  5                       5\nadbm                    2                       2\narp                     3                       3\nauth                    0                       0\nauthpriv                3                       3\nbootvar                 5                       5\ncallhome                2                       2\ncapability              2                       2\ncdp                     2                       2\ncert_enroll             2                       2\ncfs                     3                       3\nclis                    3                       3\nclk_mgr                 2                       2\nconfcheck               2                       2\ncopp                    2                       2\ncron                    3                       3\ndaemon                  3                       3\ndevice_test             3                       3\ndhclient                2                       2\ndiag_port_lb            2                       2\ndiagclient              2                       2\ndiagmgr                 2                       2\necp                     5                       5\neltm                    2                       2\neth_port_channel        5                       5\nethpm                   5                       5\nevmc                    5                       5\nevms                    2                       2\nfeature-mgr             2                       2\nfs-daemon               2                       2\nftp                     3                       3\nifmgr                   5                       5\nigmp_1                  5                       5\nip                      3                       3\nipfib                   2                       2\nipqosmgr                4                       4\nipv6                    3                       3\nkern                    3                       3\nl2fm                    2                       2\nl2fwd                   2                       2\nl2pt                    3                       3\nl3vm                    5                       5\nlicmgr                  6                       6\nlocal0                  3                       3\nlocal1                  3                       3\nlocal2                  3                       3\nlocal3                  3                       3\nlocal4                  3                       3\nlocal5                  3                       3\nlocal6                  3                       3\nlocal7                  3                       3\nlpr                     3                       3\nm2rib                   2                       2\nm6rib                   5                       5\nmail                    3                       3\nmcm                     2                       2\nmfdm                    2                       2\nmmode                   2                       2\nmodule                  5                       5\nmonitor                 3                       3\nmrib                    5                       5\nmvsh                    2                       2\nnews                    3                       3\nntp                     2                       2\notm                     3                       3\npfstat                  2                       2\npixm_gl                 4                       4\npixm_vl                 4                       4\nplatform                5                       5\nplcmgr                  2                       2\nplugin                  2                       2\nport-profile            2                       2\nradius                  3                       3\nres_mgr                 5                       5\nrpm                     5                       5\nsal                     2                       2\nsecurityd               3                       3\nsksd                    3                       3\nsmm                     4                       4\nsnmpd                   2                       2\nspan                    3                       3\nspm                     2                       2\nstp                     3                       3\nsyslog                  3                       3\nsysmgr                  3                       3\ntamnw                   2                       2\ntemplate_manager        2                       2\nu6rib                   5                       5\nufdm                    3                       3\nurib                    5                       5\nuser                    3                       3\nuucp                    3                       3\nvdc_mgr                 6                       6\nvirtual-service         5                       5\nvlan_mgr                2                       2\nvshd                    5                       5\nxbar                    5                       5\nxmlma                   3                       3\n\n0(emergencies)          1(alerts)       2(critical)\n3(errors)               4(warnings)     5(notifications)\n6(information)          7(debugging\n\n\n2023 Mar 17 14:56:31 switch %USER-0-SYSTEM_MSG:  before access to bkout_cfg  - clis\n2023 Mar 17 14:56:33 switch  %USER-2-SYSTEM_MSG: <<%USBHSD-2-MOUNT>> logflash: online  - usbhsd\n2023 Mar 17 14:56:33 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to create pending \n2023 Mar 17 14:56:35 switch  %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Binary restore - ascii-cfg[27346]\n2023 Mar 17 14:56:35 switch  %DAEMON-2-SYSTEM_MSG: <<%ASCII-CFG-2-CONF_CONTROL>> Restore DME database - ascii-cfg[27346]\n2023 Mar 17 14:56:39 switch netstack: Registration with cli server complete\n2023 Mar 17 14:56:52 switch %USER-2-SYSTEM_MSG: ssnmgr_app_init called on ssnmgr up - aclmgr\n2023 Mar 17 14:56:59 switch %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by root on vsh.bin.29983\n2023 Mar 17 14:56:59 switch %USER-0-SYSTEM_MSG: end of default policer - copp\n2023 Mar 17 14:57:01 switch %CARDCLIENT-2-FPGA_BOOT_GOLDEN: IOFPGA booted from Golden\n2023 Mar 17 14:57:01 switch %CARDCLIENT-2-FPGA_BOOT_STATUS: Unable to retrieve MIFPGA boot status\n2023 Mar 17 14:57:01 switch %CARDCLIENT-5-MOD_BOOT_GOLDEN: Module 1 IOFPGA booted from Golden\n2023 Mar 17 14:57:01 switch %CARDCLIENT-5-MOD_BOOT_PRIMARY: Module 1 BIOS booted from Primary\n2023 Mar 17 14:57:32 switch %MODULE-5-ACTIVE_SUP_OK: Supervisor 1 is active (Serial number: 99ZQXME9M7G)\n2023 Mar 17 14:57:32 switch %PLATFORM-5-MOD_STATUS: SUP sub Module 1 current-status is MOD_STATUS_ONLINE/OK\n2023 Mar 17 14:57:32 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to create in progress \n2023 Mar 17 14:57:32 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Started.\n2023 Mar 17 14:57:32 switch %IM-5-IM_INTF_STATE: mgmt0 is DOWN in vdc 1\n2023 Mar 17 14:57:32 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Bootstrap Replay Done.\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel13 created\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel14 created\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel15 created\n2023 Mar 17 14:57:32 switch %ETH_PORT_CHANNEL-5-CREATED: port-channel16 created\n2023 Mar 17 14:57:33 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to active \n2023 Mar 17 14:57:33 switch %VDC_MGR-2-VDC_ONLINE: vdc 1 has come online \n2023 Mar 17 14:57:33 switch %VDC_MGR-5-VDC_HOSTNAME_CHANGE: vdc 1 hostname changed to switch \n2023 Mar 17 14:57:35 switch %USER-1-SYSTEM_MSG: SWINIT failed. devid:241 inst:0  - t2usd\n2023 Mar 17 14:57:38 switch %IM-5-IM_INTF_STATE: mgmt0 is UP in vdc 1\n2023 Mar 17 14:58:00 switch %VMAN-5-PACKAGE_SIGNING_LEVEL_ON_INSTALL: Package 'guestshell.ova' for service container 'guestshell+' is 'Cisco signed', matches signing level cached on original install, signing level allowed is 'Cisco signed'\n2023 Mar 17 14:58:06 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to updating \n2023 Mar 17 14:58:06 switch %VDC_MGR-5-VDC_STATE_CHANGE: vdc 1 state changed to active \n2023 Mar 17 14:58:23 switch %MODULE-5-MOD_OK: Module 1 is online (Serial number: 99ZQXME9M7G)\n2023 Mar 17 14:58:23 switch %PLATFORM-5-MOD_STATUS: LC sub Module 1 current-status is MOD_STATUS_ONLINE/OK\n2023 Mar 17 14:58:23 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Started.\n2023 Mar 17 14:58:24 switch %ACLQOS-SLOT1-2-ACLQOS_FAILED: ACLQOS failure: TCAM region is not configured for feature QoS class IPv4 direction ingress. Please configure TCAM region Ingress COPP [copp] and retry the command. \n2023 Mar 17 14:58:27 switch %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configured from vty by  on vsh.bin.32561\n2023 Mar 17 14:58:33 switch last message repeated 1 time\n2023 Mar 17 14:58:33 switch %ASCII-CFG-2-CONFIG_REPLAY_STATUS: Ascii Replay Done.\n2023 Mar 17 14:58:34 switch %ASCII-CFG-2-CONF_CONTROL: System ready\n2023 Mar 17 14:58:45 switch %VMAN-2-ACTIVATION_STATE: Successfully activated virtual service 'guestshell+'  \n2023 Mar 17 14:58:45 switch %VMAN-2-GUESTSHELL_ENABLED: The guest shell has been enabled. The command 'guestshell' may be used to access it, 'guestshell destroy' to remove it.\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: ^M\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: CentOS Linux 7 (Core)\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: Kernel 4.1.21-WR8.0.0.25-standard on an x86_64\n2023 Mar 17 14:58:47 switch %VMAN-5-VIRT_INST_NOTICE: VIRTUAL SERVICE guestshell+ LOG: \n",
              "result": true
            }
          ],
          "name": "CNXOSU: Prechecks"
        },
        "error_details": "\"\"",
        "error_message": "\"\""
      },
      "run_install": {
        "response": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "install all nxos <!flashMemory!><!firmware!> non-interruptive",
              "all_pass_flag": false,
              "evaluated": "install all nxos bootflash:nxos.9.2.4.bin non-interruptive",
              "command": "install all nxos bootflash:nxos.9.2.4.bin non-interruptive",
              "parameters": {
                "flashMemory": "bootflash:",
                "firmware": "nxos.9.2.4.bin"
              },
              "rules": [
                {
                  "rule": "Do you want to continue with the installation",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "Do you want to continue with the installation",
                  "result": false
                },
                {
                  "rule": "Another install procedure may be in progress.",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "Another install procedure may be in progress.",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "Installer will perform compatibility check first. Please wait. \nInstaller is forced disruptive\nAnother install procedure may be in progress. (0x401E0007)\n",
              "result": true
            }
          ],
          "name": "CNXOSU: Install"
        },
        "error_details": "\"\"",
        "error_message": "\"\""
      },
      "post_version_verification": {
        "response": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "show version",
              "all_pass_flag": true,
              "evaluated": "show version",
              "parameters": {},
              "rules": [
                {
                  "rule": "nxos.9.2.4.bin",
                  "eval": "contains",
                  "severity": "error",
                  "flags": {
                    "case": false
                  },
                  "raw": "<!firmware!>",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "Cisco Nexus Operating System (NX-OS) Software\nTAC support: http://www.cisco.com/tac\nDocuments: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_series_home.html\nCopyright (c) 2002-2019, Cisco Systems, Inc. All rights reserved.\nThe copyrights to certain works contained herein are owned by\nother third parties and are used and distributed under license.\nSome parts of this software are covered under the GNU Public\nLicense. A copy of the license is available at\nhttp://www.gnu.org/licenses/gpl.html.\n\nNexus 9000v is a demo version of the Nexus Operating System\n\nSoftware\n  BIOS: version \n NXOS: version 9.2(4)\n  BIOS compile time:  \n  NXOS image file is: bootflash:///nxos.9.2.4.bin\n  NXOS compile time:  8/20/2019 7:00:00 [08/20/2019 15:52:22]\n\n\nHardware\n  cisco Nexus9000 9000v Chassis \n  Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz with 8133468 kB of memory.\n  Processor Board ID 99ZQXME9M7G\n\n  Device name: switch\n  bootflash:    3509454 kB\nKernel uptime is 0 day(s), 0 hour(s), 9 minute(s), 38 second(s)\n\nLast reset \n  Reason: Unknown\n  System version: \n  Service: \n\nplugin\n  Core Plugin, Ethernet Plugin\n\nActive Package(s):\n        \n",
              "result": true
            },
            {
              "raw": "show running | include boot",
              "all_pass_flag": true,
              "evaluated": "show running | include boot",
              "parameters": {},
              "rules": [
                {
                  "rule": "nxos.9.2.4.bin",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "<!firmware!>",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "boot nxos bootflash:/nxos.9.2.4.bin \n",
              "result": true
            }
          ],
          "name": "CNXOSU: Post Show Version"
        },
        "error_details": "\"\"",
        "error_message": "\"\""
      },
      "post_checks": {
        "response": {
          "all_pass_flag": true,
          "result": true,
          "commands_results": [
            {
              "raw": "show ip interface brief",
              "all_pass_flag": true,
              "evaluated": "show ip interface brief",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "\nIP Interface Status for VRF \"default\"(1)\nInterface            IP Address      Interface Status\n",
              "result": true
            },
            {
              "raw": "show license",
              "all_pass_flag": true,
              "evaluated": "show license",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "",
              "result": true
            },
            {
              "raw": "show clock",
              "all_pass_flag": true,
              "evaluated": "show clock",
              "parameters": {},
              "rules": [
                {
                  "rule": "",
                  "eval": "contains",
                  "severity": "error",
                  "raw": "",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "10:46:35.711 UTC Mon Mar 20 2023\nTime source is NTP\n",
              "result": true
            },
            {
              "raw": "show logging",
              "all_pass_flag": true,
              "evaluated": "show logging",
              "parameters": {},
              "rules": [
                {
                  "rule": "Fatal",
                  "eval": "!contains",
                  "severity": "error",
                  "flags": {
                    "case": true
                  },
                  "raw": "Fatal",
                  "result": true
                }
              ],
              "device": "nx03-atl",
              "response": "The task includes an option with an undefined variable. The error was: {'host': '{{ ansible_host }}', 'device_type': '{{ netmiko_device_type }}', 'username': '{{ ansible_user }}', 'password': '{{ ansible_password }}', 'global_delay_factor': 2}: 'netmiko_device_type' is undefined\n\nThe error appears to be in '/home/itential/automation-gateway/lib/python3.9/site-packages/automation_gateway/integrations/roles/itential_netmiko_cli/tasks/main.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: \"itential_cli response\"\n  ^ here\n",
              "result": true
            }
          ],
          "name": "CNXOSU: Postchecks"
        },
        "error_details": "\"\"",
        "error_message": "\"\""
      }
    },
    "device": "nx03-atl",
    "message": "Successfully upgraded the device nx03-atl.",
    "status": "SUCCESS",
    "errors": []
  }
}
```

Example output for a failed to upgrade due to same version
```json
{
  "ReturnStatus": {
    "response": {
      "show_version_check": {
        "response": {
          "all_pass_flag": true,
          "result": false,
          "commands_results": [
            {
              "raw": "show version",
              "all_pass_flag": true,
              "evaluated": "show version",
              "parameters": {},
              "rules": [
                {
                  "rule": "nxos.9.2.4.bin",
                  "eval": "!contains",
                  "severity": "error",
                  "flags": {
                    "case": false
                  },
                  "evaluation": "error",
                  "raw": "<!firmware!>",
                  "result": false
                }
              ],
              "device": "nx03-atl",
              "response": "Cisco Nexus Operating System (NX-OS) Software\nTAC support: http://www.cisco.com/tac\nDocuments: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_series_home.html\nCopyright (c) 2002-2019, Cisco Systems, Inc. All rights reserved.\nThe copyrights to certain works contained herein are owned by\nother third parties and are used and distributed under license.\nSome parts of this software are covered under the GNU Public\nLicense. A copy of the license is available at\nhttp://www.gnu.org/licenses/gpl.html.\n\nNexus 9000v is a demo version of the Nexus Operating System\n\nSoftware\n  BIOS: version \n NXOS: version 9.2(4)\n  BIOS compile time:  \n  NXOS image file is: bootflash:///nxos.9.2.4.bin\n  NXOS compile time:  8/20/2019 7:00:00 [08/20/2019 15:52:22]\n\n\nHardware\n  cisco Nexus9000 9000v Chassis \n  Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz with 8133468 kB of memory.\n  Processor Board ID 99ZQXME9M7G\n\n  Device name: switch\n  bootflash:    3509454 kB\nKernel uptime is 0 day(s), 0 hour(s), 44 minute(s), 16 second(s)\n\nLast reset \n  Reason: Unknown\n  System version: \n  Service: \n\nplugin\n  Core Plugin, Ethernet Plugin\n\nActive Package(s):\n        \n",
              "result": false
            },
            {