CISCO Cross Work Workflow Manager Solutions User Guide

Cross Work Workflow Manager Solutions

Specifications

  • Product: Cisco Crosswork Workflow Manager Solutions 2.0 Device
    Onboarding
  • First Published: 2025-06-25
  • Last Modified: 2025-06-25
  • Manufacturer: Cisco Systems, Inc.

Product Information

The Cisco Crosswork Workflow Manager Solutions Device Onboarding
package is designed to facilitate the onboarding of new network
devices efficiently and quickly. It leverages the Cisco-ZTP
application to remotely provision network devices by installing the
boot image and the initial day-0 configuration.

Usage Instructions

Device Onboarding Prerequisites

  • Ensure you have a good understanding of Cisco Crosswork and
    Cisco NSO.
  • Refer to the Cisco documentation for more information on NSO
    products.

Device Onboarding Function Package

The Cisco Device Onboarding functional package enables you to
capture ZTP intent and provides APIs for interactions with
bootstrap scripts running on the device. It allows you to build
role-based ZTP-profiles containing day-0 configurations,
software-image details, and device onboard settings.

Package Components

  • Create ZTP-profiles with unique identifiers for each
    device.
  • Associate profiles with devices using a service model called a
    map.
  • Monitor device progress using the ZTP map service plan
    data.

FAQ

What are the variables DEV_CUSTOMER_ENABLED_PASSWORD and
MGMT_IP_ADDRESS dependent on?

These variables are dependent on the ZTP profile, the
availability of management IP address, and security password
variables.

“`

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide
First Published: 2025-06-25 Last Modified: 2025-06-25
Americas Headquarters
Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000
800 553-NETS (6387) Fax: 408 527-0883

1 C H A P T E R

Device Onboarding

Preface

This section contains the following topics:
· Preface, on page 1 · Cisco Crosswork Workflow Manager Solutions, on page 1 · Device Onboarding Package, on page 2 · Device Onboarding (DO) and Zero-Touch Provisioning (ZTP), on page 2 · Example: Use Device Onboarding to Onboard a Network Device, on page 13

Abstract

This document is the user guide for the standalone version of Cisco Crosswork Workflow Manager Solutions Device Onboarding package.

Audience

This document describes how to configure and use Crosswork Workflow Manager Solutions Device Onboarding. This document is intended for Cisco Advanced Services developers, network engineers, and system engineers who configure and deliver Crosswork Workflow Manager Solutions functionalities to Cisco customers.

Additional Documentation
This documentation requires the reader to have a good understanding of Cisco Crosswork and Cisco NSO and its use, as described in the Cisco documentation. For more information on NSO products, go to: https://developer.cisco.com/docs/nso/.

Cisco Crosswork Workflow Manager Solutions
CWM Solutions is a collection of common use cases designed to make field customizations simple and straightforward. It is built using Cisco Crosswork Workflow Manager (CWM) and Cisco Network Services

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 1

Device Onboarding Package

Device Onboarding

Orchestrator (NSO). This document explains how to use the Device Onboarding use case to improve the efficiency and speed with which you onboard new network devices. Note: Click these links for more information using on Cisco CWM and Cisco NSO.
Device Onboarding Package
The CWM Solutions Device Onboarding use case is a functional package that utilizes the Cisco-ZTP application to remotely provision network devices by installing the boot image and the initial day-0 configuration.
Device Onboarding (DO) and Zero-Touch Provisioning (ZTP)
The Device Onboarding (DO) application uses Cisco Zero-Touch Provisioning (ZTP). ZTP automates software image installation and upgrade as well as installation of day-0 configuration files while deploying Cisco or third-party devices for the first time. The Cisco-ZTP solution offers flexibility by supporting a variety of devices, including Cisco IOS XR, IOS XE, and Nexus. The Cisco-ZTP solution used in DO comprises four components: a DHCP server, a client (ZTP script), HTTP server, and NSO function pack. Note: All components need to be installed and connected to the device. For details, see Device Onboarding Prerequisites.
Device Onboarding Prerequisites
For Device Onboarding to function properly, these prerequisites need to be present and functioning. · Devices enabled with ZTP. · Devices capable of running Python or Shell scripts as part of the ZTP process. · Network connectivity from devices to NSO, DHCP, and HTTP/TFTP servers. · IP address space is sufficient to accommodate all the devices needed. · The DHCP is configuration to detect the device type and provide the appropriate device agent script location. · Minimum NSO version 6.1 or higher. · The DO (Cisco-ztp) package is installed on NSO. · Python or Shell scripts are available, one for each type of ZTP device, that implement the DO (Cisco-ZTP) callbacks, device image upgrade, and Day-0 configuration. · (Optional) NED packages are available for device onboarding.
Device Onboarding Function Package
The Cisco Device Onboarding (DO) functional package defines the interface to both capture the ZTP intent and APIs for the DO client (bootstrap scripts running on the device) interactions. The DO data models enable you to build a catalog of role-based ZTP-profiles that each capture the day-0, software-image (optional), and

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 2

Device Onboarding

Package Components

device onboard settings. These profiles are then associated with the device thru a service model called a map. Each map entry should specify some uniquely identifiable information of the device (for example, a serial-number) along with the ZTP-profile used for the device. The unique ID enables you to verify and validate the device when using the NSO ZTP API endpoints. The DO functional package monitors the progress for a device and can be monitored using the ZTP map service plan data.
Package Components
· Day-0 template: When you create a day-0 file, there are four variables that are auto- populated with specific values listed here. See Day-0 Template. · DEV_CUSTOMER_USERNAME
· DEV_CUSTOMER_PASSWORD
· DEV_CUSTOMER_ENABLED_PASSWORD
· MGMT_IP_ADDRESS
Note: The variables DEV_CUSTOMER_ENABLED_PASSWORD and MGMT_IP_ADDRESS are dependent on the ZTP profile, the availability of management-ip-address, and sec- password variables.
· Authgroup: The authgroup is needed for you to log in to NSO.
· Device Onboarding Settings: These settings are verified and validated during the onboarding process.
· (Optional) Software Image: The software itself that runs the device.
Device Onboarding Flow
Device Onboarding using the Cisco-ZTP agent flow has three phases. · Obtaining Bootstrap Information: The device issues a request to the DHCP server to obtain the location (URL) of the bootstrap file (script). The device then downloads and runs the script.
· Checking Image Compliance and/or Upgrading: Once the bootstrap file (script) has run, the configuration is applied to the device either with a new configuration (if the device is newly added) or upgrades the existing device.
· Validating and applying the new (day-0) configuration: The configuration then undergoes verification and validation processes based on the ZTP-role.
Note: The bootstrap file can be a simple script that applies a day-0 configuration or an elaborate script that acts as a Cisco-ZTP solution client. Usually, the script file is best suited for Cisco-ZTP solution implementations.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 3

Device Onboarding Flow

Device Onboarding

The ZTP process downloads the file and runs it. Cisco IOS XR, IOS XE, and Nexus devices support bash, python script, and a file containing iOS commands as the bootstrap file. Note: The bootstrap file can be a simple script that applies a day-0 configuration or an elaborate script that acts as a Cisco-ZTP solution client. Usually, the script file is best suited for DO (Cisco-ZTP) solution implementations.
Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 4

Device Onboarding

How Device Onboarding Works

How Device Onboarding Works
This section describes how Device Onboarding operates. The next section guides you through the Steps for Onboarding a Managed Device.
Day-0 Template
The day-0 template is a reusable configuration template with multiple placeholder variables. The values for these variables are part of the profile definition. This template enables you to reuse day-0 configurations for other device onboarding projects. The placeholder values are defined during the ZTP map service (placeholder variables are device specific and are included in the ZTP-profile) when you create the ZTP map. These factors give you greater control over how a day-0 configuration template is rendered for a given device.
This is a sample of a day-0 template for a Cisco IOX XR device.
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<ztp xmlns=” http://cisco.com/ns/nso/cfp/cisco-ztp “>
<day0-template> <name>ncs540-day0</name> <template> !! IOS XR username ${DEV_CUSTOMER_USERNAME} group root-lr password 0 ${DEV_CUSTOMER_PASSWORD} ! hostname ${HOST_NAME} ! vrf Mgmt-intf address-family ipv4 unicast ! domain name cisco.com domain name-server <ip_address> domain lookup source-interface MgmtEth0/RP0/CPU0/0 interface MgmtEth0/RP0/CPU0/0 ipv4 address ${MGMT_IP_ADDRESS} 255.255.255.0
! router static address-family ipv4 unicast
0.0.0.0/0
<ip_address>
! ! ! ssh server v2 ssh server vrf Mgmt-intf </template> </day0-template> </ztp> </config>

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 5

Resource Pools

Device Onboarding

Resource Pools
ZTP uses IP resources that are grouped in a common pool called a resource pool. A resource pool is configured with an IP address or subnet. The resource pool uses the resource-manager package in NSO to allocate the IP addresses.
The resource-manager provides a ZTP map service that handles the management IP-address assignment. You can also choose to explicitly provide the management-ip -address on the ZTP map service for a given device. In both cases, ZTP application auto populates the MGMT_IP_ADDRESS placeholder variable while rendering the day-0 configuration for a device.
Note: A resource-pool is only needed when you are using a dynamic IP address. If you are using a static IP address, the resource pool variable is not needed. For details, refer to the Load Resource Pool (Step 6).
Profiles and Service Map Information
The Profiles catalog contains a set of configuration parameters, such as the 0-day files, device onboarding settings, and the software version applied to the devices. The device onboarding solution associates the ZTP-profiles with the devices using the service map. The map contains the necessary information and applies that information to the device during the Device Onboarding (DO) process. Each map entry contains some uniquely identifiable information of the device along with the ZTP-profile used for the device. The map service plan data displays the progress for the device.
The OS software-version and image details defined in the ZTP-profile are available to the ZTP client script to compare software version and initiate image upgrade. The ZTP package does not process or use the configured OS information. Once the ZTP process is complete, the ZTP map service onboards the devices into the NSO device tree to continue to configure the devices with any available core function pack solutions.
To onboard the device, the managed attribute in the profile must be set to true, see step 8 Load Service (Map), and the device-type (NED, port, and authgroup) must also be set. If there is no authgroup setting under device-type, then the username, password and sec-password attributes must be provided.
Device Onboarding Bootstrap
The Device Onboarding package defines two callback action APIs for the Device Onboarding- client interactions. The get-bootstrap-data callback action returns the bootstrapping configuration, the day-0 configuration generated for the device, and the OS image information as configured on the ZTP-profile. The Device Onboarding-client script then processes the OS image details and applies the day-0 configuration to the device.
During the bootstrap process, the Device Onboarding-client script reports the progress using the report-progress callback action. The get-bootstrap-data and report-progress actions must contain the unique identifier of the device. The get-bootstrap-data API call also includes the: device vendor, model, OS-name, and OS-version. Similarly, the report-progress API call includes an optional message.
If both the management resource pool and explicit management IP address configurations are not set and the Device Onboarding-profile defines the device as managed, the Device Onboarding-client script must retrieve the management IP address from the device and post it to NSO thru the report-progress action callback.
This is a sample of the get-bootstrapping-data call back script.
curl -i -u ztpclient:topsecret -H “Content-Type:application/yang-data+json” -X POST -d ‘{“input”:{ “model” : “CSR1KV”,”os-name” : “cisco-ioxr”,”vendor” : “Cisco”,”unique-id” : “AAO124GF”,”os-version” : “12.1”}}’

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 6

Device Onboarding

Steps for Onboarding a Managed Device

http://nsoztpserver:8090/restconf/operations/cisco-ztp:ztp/classic/get-bootstrapping-data
<< Response body >> { “cisco-ztp:output”: { “bootstrap-information”: { “boot-image”: { “os-name”: “cisco-ioxr”, “os-version”: “12.3”, “download-uri”: “http://sample.domain/8894-235/ios-xr12.3.tar.gz”, “md5-hash-value”: “195b174c9a13de04ca44f51c222d14b0” }, “day-0-configuration”: “!! IOS XRnusername adminn group root-lrn password 0 adminn!nhostname xr_2n!nvrf Mgmt-intfn address-family ipv4 unicastn!ninterface MgmtEth0/RSP0/CPU0/0n vrf Mgmt-intfn ipv4 address 192.168.20.1 255.255.255.0n!nrouter staticn vrf Mgmt-intfn address- family ipv4 unicastn 0.0.0.0/0 192.168.122.1 110n !n!nssh server v2nssh server vrf Mgmt-intfnn” } } } ** report-progress callback ** curl -i -u ztpclient:topsecret -H “Content-Type:application/yang-data+json” -X POST -d ‘{“input” : {“unique-id”: “AAO124GF”,”progress-type”: “bootstrap- complete”}}’ http://nsoztpserver:8090/restconf/operations/cisco-ztp:ztp/classic/report-progress << Response header >> HTTP/1.1 204 No Content

Steps for Onboarding a Managed Device
This is the sequence of steps you use Device Onboarding to update a device managed by NSO using either a dynamic or static IP Address.

SUMMARY STEPS

1. Edit/Update ncs.conf file 2. Create a Local Authentication (for NSO) 3. Create an Authgroup 4. Create a Net Cam Rules file 5. Load Onboarding Payload with Day-0 template 6. Load Resource Pool (if using dynamic IP Address. If using a static IP Address, skip step 6. 7. Load Profile 8. Load Service (Map). If you are using a static IP address that is not managed by NSO, skip Step 6, and
load a separate service map with the static IP address in Step 8.

DETAILED STEPS

Procedure

Step 1 Step 2

Command or Action Edit/Update ncs.conf file Create a Local Authentication (for NSO)

Purpose

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 7

Edit/Update ncs.conf file

Device Onboarding

Step 3 Step 4 Step 5 Step 6
Step 7 Step 8

Command or Action

Purpose

Create an Authgroup

Create a Net Cam Rules file

Load Onboarding Payload with Day-0 template

Load Resource Pool (if using dynamic IP Address. If using a static IP Address, skip step 6.

Load Profile

Load Service (Map). If you are using a static IP address that is not managed by NSO, skip Step 6, and load a separate service map with the static IP address in Step 8.

Edit/Update ncs.conf file
Use these samples to update the restconf with a new tcp port and local authentication to be able to log in to NSO. Note: This sample uses 8080 for the port number and after updating file, restart nsc.
Add a tcp port (8080 default port)
<restconf> <enabled>true</enabled> <transport> <tcp> <enabled>true</enabled> <port><8080></port> </tcp> </transport> </restconf>
Create a Local Authentication
Local authentication
<local-authentication> <enabled>true</enabled> </local-authentication>
Create an Authgroup

Default-authgroup.xml <config xmlns=” http://tail-f.com/ns/config/1.0 “> <devices xmlns=” http://tail-f.com/ns/ncs “> <authgroups> <group> <name>default</name> <default-map> <remote-name><UserID></remote-name>

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 8

Device Onboarding

Create a Net Cam Rules

<remote-password><password></remote-password> <remote-secondary-password>Cisco123#</remote-secondary-password> </default-map> </group> </authgroups> </devices> </config>
Create a Net Cam Rules
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<aaa xmlns=” http://tail-f.com/ns/aaa/1.1 “>
<authentication> <users> <user> <name><userID></name> <uid>65534</uid> <!– User nobody –> <gid>65534</gid> <!– Group nobody –> <password><password></password> <!– User ssh public keys, Set to random for ztp client –> <ssh_keydir>/var/ncs/homes/public/.ssh</ssh_keydir> <!– User working directory for load mearg and other activity, set to random for ztp client –> <homedir>/var/ncs/homes/public</homedir> </user> </users> </authentication> </aaa> <nacm xmlns=”urn:ietf:params:xml:ns:yang:ietf-netconf-acm”> <read-default>deny</read-default> <write-default>deny</write-default> <exec-default>deny</exec-default> <groups> <group> <name>ztp</name> <user-name><userID></user-name> </group> </groups> <rule-list> <name>ztp</name> <group>ztp</group> <rule> <name>action-callback</name> <module-name>cisco-ztp</module-name> <path>/cisco-ztp:ztp/cisco-ztp:classic</path> <access-operations>*</access-operations> <action>permit</action> <context xmlns=” http://tail-f.com/yang/acm
“>*</context> </rule> </rule-list> </nacm>

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 9

Load Onboarding Payload with Day-0 template

Device Onboarding

</config>
Load Onboarding Payload with Day-0 template
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<ztp xmlns=” http://cisco.com/ns/nso/cfp/cisco-ztp “>
<day0-template> <name>ncs540-day0</name> <template> !! IOS XR username ${DEV_CUSTOMER_USERNAME} group root-lr password 0 ${DEV_CUSTOMER_PASSWORD} ! hostname ${HOST_NAME} ! vrf Mgmt-intf address-family ipv4 unicast ! domain name cisco.com domain name-server 171.70.168.183 domain lookup source-interface MgmtEth0/RP0/CPU0/0 interface MgmtEth0/RP0/CPU0/0 ipv4 address ${MGMT_IP_ADDRESS} 255.255.255.0
! router static address-family ipv4 unicast
0.0.0.0/0
<ip_address> ! ! ! ssh server v2 ssh server vrf Mgmt-intf </template> </day0-template> </ztp> </config>
Load Resource Pool (If Using a Dynamic IP Address)
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<resource-pools xmlns=” http://tail-f.com/pkg/resource-allocator “>
<ip-address-pool xmlns=” http://tail-f.com/pkg/ipaddress-allocator “>
<name>ztp-pool</name>

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 10

Device Onboarding

Load Profile (for managed payload-dynamic IP Address)

<range> <from><ip_address_start></from> <to>ip_address_end></to> </range> </ip-address-pool> </resource-pools> </config>
Load Profile (for managed payload-dynamic IP Address)
<config xmlns=”http://tail-f.com/ns/config/1.0″> <ztp xmlns=”http://cisco.com/ns/nso/cfp/cisco-ztp”> <profile> <id>ncs540-profile</id> <os-details> <os-name>cisco-ioxr</os-name> <os-version>7.10.2</os-version> <image-uri><image_drectory_pathi> <md5-hash><md_hash>> </os-details> <resource-pool>ztp-pool</resource-pool> <day0-template>ncs540-day0</day0-template> <username<user_id></username> <password><password></password> <sec-password>Cisco123#</sec-password> <managed>true</managed> <device-type> <cli> <ned-id>cisco-iosxr-cli-7.53</ned-id> </cli> </device-type> </profile> </ztp> </config>
Note Profiles for static IP address payloads do not include the resource pool.
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<ztp xmlns=” http://cisco.com/ns/nso/cfp/cisco-ztp “>
<profile> <id>ncs540-profile</id> <os-details> <os-name>cisco-ioxr</os-name> <os-version>7.10.2</os-version> <image-uri> <image_drectory_pathi > <md5-hash><md_hash>> </os-details> <day0-template>ncs540-day0</day0-template> <username<user_id></username> <password><password></password> <sec-password><sec_password></sec-password> <managed>true</managed>

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 11

Load Service Map (Dynamic IP Address)

Device Onboarding

<device-type> <cli> <ned-id>cisco-iosxr-cli-7.53</ned-id> </cli> </device-type> </profile> </ztp> </config>
Load Service Map (Dynamic IP Address)
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<ztp xmlns=” http://cisco.com/ns/nso/cfp/cisco-ztp “>
<map> <id>ncs540</id> <unique-id>FOC2712R3D6</unique-id> <profile>ncs540-profile</profile> <variable> <name>HOST_NAME</name> <value>NCS540-2</value> </variable> </map> </ztp> </config>
Load Service Map (Static IP Address)
<config xmlns=” http://tail-f.com/ns/config/1.0 “>
<ztp xmlns=” http://cisco.com/ns/nso/cfp/cisco-ztp “>
<map> <id>ncs540</id> <unique-id>FOC2712R3D6</unique-id> <profile>ncs540-profile</profile> <variable> <name>HOST_NAME</name> <value>NCS540-2</value> </variable> <mgmt-ip-address><ip_address></ip_address></mgmt-ip-address> </map> </ztp> </config>
As an option, you can also onboard the device on to a remote NSO. A ZTP NSO server is a managed server that has NSO installed with the Device Onboarding application. A remote NSO is an unmanaged server where you can onboard a device after ZTP process. This alternate NSO server is used for onboarding unmanaged devices. Using an unmanaged NSO server segregates the Device Onboarding-specific functions from the broader network solution. To enable this functionality, Device Onboarding defines a YANG model that captures the remote-nso server.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 12

Device Onboarding

Device Onboarding an Unmanaged Device

Device Onboarding an Unmanaged Device
The procedure used to upgrade a device not managed by NSO is very similar to procedure for onboarding to a server managed by NSO. The only difference is setting the managed variable to either true (managed) or false (unmanaged) when downloading the Profile. This sample shows the management variable set to false for an unmanaged device.
<config xmlns=”http://tail-f.com/ns/config/1.0″> <ztp xmlns=”http://cisco.com/ns/nso/cfp/cisco-ztp”> <profile> <id>ncs540-profile</id> <os-details> <os-name>cisco-ioxr</os-name> <os-version>7.10.2</os-version> <image-uri><image_drectory_pathi> <md5-hash><md_hash>> </os-details> <resource-pool>ztp-pool</resource-pool> <day0-template>ncs540-day0</day0-template> <username<user_id></username> <password><password></password> <sec-password>Cisco123#</sec-password> <managed>false</managed> <device-type> <cli> <ned-id>cisco-iosxr-cli-7.53</ned-id> </cli> </device-type> </profile> </ztp> </config>

Example: Use Device Onboarding to Onboard a Network Device
This section provides an example of how to supply the Device Onboarding workflow.

Prerequisites

· A Crosswork Workflow Manager (CWM) OVA is running. · A Network Service Orchestrator (NSO) system (version 6.1.9 or later) is installed and running. · An NSO server secret is created for use in the CWM. · The Map-service-create-poll-plan.sw.jason workflow is loaded in CWM.

Workflow Procedure

Procedure

Step 1

Create a resource pool using this payload.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 13

Workflow Procedure

Device Onboarding

Step 2 Step 3

<config xmlns=”http://tail-f.com/ns/config/1.0″> <resource-pools xmlns=”http://tail-f.com/pkg/resource-allocator”> <ip-address-pool xmlns=”http://tail-f.com/pkg/ipaddress-allocator”> <name>ztp-pool</name> <range> <from><ip_address1></from> <to>ip_address2</to> </range> </ip-address-pool> </resource-pools> </config>
Create an authgroup using this script.
<config xmlns=”http://tail-f.com/ns/config/1.0″> <devices xmlns=”http://tail-f.com/ns/ncs”> <authgroups> <group> <name>default</name> <default-map> <remote-name>admin</remote-name> <remote-password><pwd></remote-password> <remote-secondary-password><pwd></remote-secondary-password> </default-map> </group> </authgroups> </devices> </config>
Create a Day-0 template using this script.
<config xmlns=”http://tail-f.com/ns/config/1.0″> <ztp xmlns=”http://cisco.com/ns/nso/cfp/cisco-ztp”> <day0-template> <name><name></name> <template> !! IOS XR username ${DEV_CUSTOMER_USERNAME} group root-lr password 0 ${DEV_CUSTOMER_PASSWORD} ! hostname ${HOST_NAME} ! vrf Mgmt-intf address-family ipv4 unicast ! domain name cisco.com domain name-server <ip_address> domain lookup source-interface MgmtEth0/RP0/CPU0/0 interface MgmtEth0/RP0/CPU0/0 ipv4 address ${MGMT_IP_ADDRESS} <ip_address> ! router static address-family ipv4 unicast 0.0.0.0/0 <ip_address> ! ! ! ssh server v2 ssh server vrf Mgmt-intf </template> </day0-template> </ztp>

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 14

Device Onboarding

Workflow Procedure

</config>

Step 4
Step 5 Step 6 Step 7

Create a ZTP-profile using this script.
<config xmlns=”http://tail-f.com/ns/config/1.0″> <ztp xmlns=”http://cisco.com/ns/nso/cfp/cisco-ztp”> <profile> <id>ncs5501-profile</id> <os-details> <os-name>cisco-ioxr</os-name> <os-version>7.9.2</os-version> <image-uri>http://172.22.143.63/xr-5500-792/ncs5500-golden-x7.9.2-v1.iso</image-uri> <md5-hash>195b174c9a13de04ca44f51c222d14b0</md5-hash> </os-details> <resource-pool>ztp-pool</resource-pool> <day0-template>ncs5501-day0</day0-template> <username><userID></username> <password><pwd></password> <sec-password><pwd></sec-password> <managed>true</managed> <device-type> <cli> <ned-id>cisco-iosxr-cli-7.53</ned-id> </cli> </device-type> </profile> </ztp> </config>
After the resource pool, authcode, day-0-template, and ZTP-profile have been created, create the ztp map service on nso using the CWM UI.
Log into CWM and choose the Workflows tab.
Click Create New Workflow.
a) (Required) Type in the Workflow Name.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 15

Workflow Procedure
b) (Required) Type in the Version of the workflow.

Device Onboarding

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 16

Device Onboarding

Step 8

Click Create Workflow. The Workflow is listed in the Workflow Table

Workflow Procedure

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 17

Workflow Procedure

Device Onboarding

Step 9
Step 10 Step 11

k the Workflow Name to open the Workflow screen. (Details tab is the default.) The Workflow Definition ID and Update Date are auto filled.
(Optional) Type any Tags.
Click the Code tab to view the script for the map.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 18

Device Onboarding

Step 12

Click Run the Run job window opens.

Workflow Procedure

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 19

Running the Map

Device Onboarding

Step 13 Step 14
Step 15 Step 16

(Optional) Type in any Tags. Type in the Input variables. Example is shown here:
{ “nsoInstance”: “NSO”, “ztp”: { “map”: { “id”: “NCS_5”, “unique-id”: “FOC2712R3D6”, “profile”: “ncs540-profile”, “variable”: { “name”: “HOST_NAME”, “value”: “NCS_5” } } } }
(Optional) in the When section configure the time, frequency, and order that the map runs. a) (Optional) Start directly (default). b) Schedule for specific date and time. c) (If specific date and time is selected) Select Frequency. d) (If the script is to be run in chronological order) Select Cron.
Click Run Job.

Running the Map
After you click Run Job. Procedure
Step 1 Select Job Manager > Active Jobs.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 20

Device Onboarding
Step 2 Click the job name you want to open it. (In this example, the job status is running.)

Running the Map

Step 3

Once the ZTP process is finished on the XR device. Choose Job Manager > Completed Jobs tab. The job is listed in the

a Step 4

t Click the Job Name. The Job page opens showing the job details and Job Event Log.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 21

Running the Map

Device Onboarding

Step 5 In the Job Event Log section, click the plus (+) sign to the left of the WorkflowExecution (last event in the

i

l

Note The MapCreatedStatus variable is set to true and the PlanStatusResult variable is set shows reached which means that the ZTP map is in the reached state.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 22

Device Onboarding

Running the Map

Step 6 On NSO, the XR device is onboarded and the map; plan status is reached. The readout shows that the device is onboarded.

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 23

Running the Map

Device Onboarding

Cisco Crosswork Workflow Manager Solutions 2.0 Device Onboarding Guide 24

Documents / Resources

CISCO Cross Work Workflow Manager Solutions [pdf] User Guide
Cross Work Workflow Manager Solutions, Work Workflow Manager Solutions, Workflow Manager Solutions, Manager Solutions

References

Leave a comment

Your email address will not be published. Required fields are marked *