0.0.5-2019.3.4 • Published 2 years ago

@itentialopensource/nso-device-onboarding v0.0.5-2019.3.4

Weekly downloads
32
License
Apache-2.0
Repository
gitlab
Last release
2 years ago

NSO-Device-Onboarding

Table of Contents

Intro

The NSO Device Onboarding artifact allows a user to onboard devices into an NSO instance. This artifact can add a device into the NSO database, perform a fetch on the device SSH keys (if applicable), and execute a sync-from on the device being onboarded. At the end of the workflow, the user will be presented with a comprehensive report that lists the following:

  • Devices that were successfully onboarded
  • Devices that were not added to the NSO database
  • Devices that failed Sync-From
  • Devices that failed to fetch SSH keys (if applicable)

Requirements

In order to use the NSO Device Onboarding automation, users will have to satisfy the following pre-requisites: 1. Verify the Itential Adapter-NSO is successfully installed 2. A connection has been established between the Itential Automation Platform and the NSO instance

  • Itential Automation Platform
    • ^2019.3.0
  • App-Artifacts
    • ^3.0.1

Known Limitations

NSO Device Onboarding does NOT currently support Juniper or F5 devices. There are plans to support both of these devices in future releases of the artifact.

How to Install

Please ensure that you are running a supported version of Itential Automation Platform (IAP) as listed above in the Requirements section in order to install NSO Device Onboarding. If you do not currently have App-Artifacts installed as a service on your node, the .tgz file or "tarball" can be obtained from the Nexus repository. Please refer to the instructions included in the App-Artifacts README to install it.

NSO Device Onboarding can be installed from within App-Artifacts. Simply search for nso-device-onboarding and click the install button as shown below:

Alternatively, you may clone this repository and run npm pack to create a tarball which can then be installed via the offline installer in App-Artifacts. Please consult the documentation for App-Artifacts for further information.

How to Run

Input

To run the NSO Device Onboarding artifact, the user can choose between two options. The first, is to start the artifact from Automation Catalog, which is done through the Itential Automation Platform (IAP) GUI. The second option is to make a HTTP Request to the server via Postman. Instructions on how to execute both options are listed below.

Run with App-Artifacts

Navigate to App-Artifacts and use the search bar to query for nso-device-onboarding. If NSO Device Onboarding is installed, the user will be able to click the green play button on the artifact card, as seen below.

Follow the prompts to see your newly active automation.

Run with Automation Catalog

First, the user will need to access the artifact entry through Automation Catalog as seen below.

From Automation Catalog, the user can select to start the automation by clicking the run option, which can be seen in the following image.

After choosing to run the automation, the user will be prompted for device parameters. At this point the user can input data for one device or choose to add multiple devices for NSO onboarding.

The following parameters are required to start the automation.

Once the user has provided all of the required parameters and chooses to continue, the workflow will begin to onboard each of the provided devices.

Run with HTTP POST Request

A user can perform NSO device onboarding via HTTP request through Postman. Follow the steps below to configure the request URL and send the start job request containing the devices that will be onboarded.

  1. Open Postman and create a new HTTP POST request. The request url will be the same as the image below.
  1. Provide a request body. nso-device-onboarding is capable of handling a request body to onboarding devices into the NSO instance. Below are examples of the structure for the request body depending on what type of device onboarding is required. The request body requires certain parameters the workflow to run successfully. Note: If elected, the deviceS array can contain multiple device objects. Each object will contain the parameters for an individual, unique device. To onboard more than one device, provide multiple device objects within the deviceS array.

HTTP Request Body Format

{
    "options": {
        "description": "",
        "variables": {
            "formData": {
                "deviceS": []
            }
        },
        "groups": [],
        "type": "automation"
    }
}

Format of Device object inside of deviceS Array

a10 Device Object

{
    "nsoInstance": "NSO INSTANCE",
    "name": "NAME OF DEVICE",
    "address": "IP ADDRESS",
    "port": "PORT",
    "authgroup": "AUTHETICATION CREDENTIALS",
    "deviceType": "cli",
    "nedId": "a10-acos",
    "protocol": "ssh",
}

Cisco-ios Device Object

{
    "nsoInstance": "NSO INSTANCE",
    "name": "NAME OF DEVICE",
    "address": "IP ADDRESS",
    "port": "PORT",
    "authgroup": "AUTHETICATION CREDENTIALS",
    "deviceType": "cli",
    "nedId": "cisco-ios",
    "protocol": "ssh",
}

Cisco-ios-xr Device Object

{
    "nsoInstance": "NSO INSTANCE",
    "name": "NAME OF DEVICE",
    "address": "IP ADDRESS",
    "port": "PORT",
    "authgroup": "AUTHETICATION CREDENTIALS",
    "deviceType": "cli",
    "nedId": "cisco-ios-xr",
    "protocol": "ssh",
}

Nexus Device Object

{
    "nsoInstance": "NSO INSTANCE",
    "name": "NAME OF DEVICE",
    "address": "IP ADDRESS",
    "port": "PORT",
    "authgroup": "AUTHETICATION CREDENTIALS",
    "deviceType": "cli",
    "nedId": "cisco-nx",
    "protocol": "ssh",
}
  1. Once the HTTP Post Request is sent and a Success message is received, the user can return to IAP and go to the Active Jobs tab to view their newly started device onboarding automation.

Output

After the artifact has performed NSO onboarding for each device the user will be presented with a comprehensive report that lists the following:

  • Devices that were successfully onboarded
  • Devices that were not added to the NSO database
  • Devices that failed Sync-From
  • Devices that failed to fetch SSH keys (if applicable)

Error Handling

As mentioned above, NSO Device Onboarding will provide the user with a report that shows devices that were onboarded successfully and any device that failed the onboarding process. If a device fails to be added to the NSO database, fails to fetch SSH keys, or fails sync-from it will be caught and outputted to the user. As seen below, at each step in the onboarding process a device will be evaluated in terms of erroring, failure, or success. Upon error or failure, the device will be added to a list corresponding to the step in the onboarding process.

This artifact has been tested using a10, cisco-ios, cisco-ios-xr, nexus.

0.0.5-2019.3.4

2 years ago

0.0.2-2019.2.5

2 years ago

0.0.5-2019.3.3

2 years ago

0.0.7

2 years ago

0.0.5-2019.3.2

2 years ago

0.0.2-2019.2.4

2 years ago

0.0.6

2 years ago

0.0.5-2019.3.1

2 years ago

0.0.5

2 years ago

0.0.5-2019.3.0

2 years ago

0.0.4

2 years ago

0.0.3-2019.3.2

2 years ago

0.0.3-2019.3.1

2 years ago

0.0.3-2019.3.0

2 years ago

0.0.3

2 years ago

0.0.2-2019.2.3

2 years ago

0.0.2-2019.3.11

2 years ago

0.0.2-2019.2.2

2 years ago

0.0.2-2019.3.10

2 years ago

0.0.2-2019.3.9

2 years ago

0.0.2-2019.2.1

2 years ago

0.0.2-2019.2.0

2 years ago

0.0.2-2019.3.8

2 years ago

0.0.2-2019.3.5

2 years ago

0.0.2-2019.3.6

2 years ago

0.0.2-2019.3.7

2 years ago

0.0.2-2019.3.4

2 years ago

0.0.2-2019.3.3

2 years ago

0.0.2-2019.3.2

2 years ago

0.0.2-2019.3.0

2 years ago

0.0.2-2019.3.1

2 years ago

0.0.2

2 years ago