Dashboard to manage zero touch provisioning configurations and automated upgrades for Cisco IOS XR and Nexus devices
The on-boarding of devices into the network can be challenging. It can require manual configuration, and that increases the risk of human error. Upgrading to newer software images can also be quite complex, and testing that everything works as expected is rarely automated.
Tools like Zero Touch Provisioning (ZTP) for XR and Power On Auto-Provisioning (POAP) for Nexus makes this process easier. By automating the on-boarding of devices with these tools, we are able to do the initial software installation and the day-0 configuration without human intervention.
However, configuring ZTP and POAP in your environment requires knowledge around DHCP, HTTP and other tools. Also, if you want to do upgrades for devices already present in the network, you still need to manually save the configuration of the device and do the reboot with the correct options.
Finally, ZTP and POAP do not include automated tests.
In order to enable customers to take full advantage of ZTP and POAP, we propose the following application where the these tasks are automated:
The solution will help operators to configure HTTP, DHCP or TFTP from a single portal, without the need of extensive knowledge around how these technologies work. Since everything is managed from a single point, alerts with extensive descriptions can be sent to monitoring tools when troubleshooting needs to be done.
The solution will leverage the following Cisco technologies
At this moment, this tool supports Nexus and XR devices only. Demo at https://youtu.be/No7S-gKHrDU
The bash script setup.sh under the installation directory can be run to setup the application.
The app assumes that there is a Mongo DB reachable, which is configured via env variables.
Also, you'll need to modify the env file inside the installation directory with the following variables:
# Go related variables, shouldn't need to be changed export GOPATH=/opt/ztp-go export GOBIN=$GOPATH/bin export GOROOT=/usr/local/go export PATH=$PATH:$GOPATH/bin# DHCP v4 information export DHCP_NAMESERVERS= export DHCP_SUBNET= export DHCP_SUBNET_NETMASK= export DHCP_CONFIG_PATH=/etc/dhcp/dhcpd.conf export DHCP_SERVICE_RESTART_CMD="systemctl restart isc-dhcp-server"
# DHCP v6 information export DHCP6_NAMESERVERS= export DHCP6_SUBNET= export DHCP6_SUBNET_NETMASK= export DHCP6_CONFIG_PATH=/etc/dhcp/dhcpd6.conf export DHCP6_SERVICE_RESTART_CMD="systemctl restart isc-dhcp-server6"
# Mongo URI to be used by the tool. 127.0.0.1 assumes mongodb is localhost export DB_URI=127.0.0.1
# Port to be listening for incoming web requests export APP_WEB_PORT=8080
# Token to be used when sending notifications export WEBEX_BOT_TOKEN=
# Enable for extra log information export DEBUG=on
Documentation around Nexus Power On Auto-Provisioning can be found at https://developer.cisco.com/docs/nx-os/#!poap
Documentation for XR Zero Touch Provisioning can be found at https://xrdocs.io/device-lifecycle/tutorials/2016-08-26-working-with-ztp/#how-ztp-works
Provided under Cisco Sample Code License, for details see LICENSE
Our code of conduct is available here
See our contributing guidelines here
Tools like Zero Touch Provisioning (ZTP) for XR and Power On Auto-Provisioning (POAP) for Nexus facilitate the on-boarding of new devices into a network. By automating the on-boarding of devices with these tools, you can perform the initial software installation and upgrades and day-0 configuration without manual intervention, which reduces the risk of human error.
However, configuring ZTP and POAP in your environment requires knowledge of DHCP, HTTP and other tools. If you want to perform upgrades for devices already present in the network, you must manually save the configuration of the device and perform the reboot with the correct options. You should also be aware that ZTP and POAP do not include automated tests.
This application is a dashboard that manages zero touch provisioning configurations and automated upgrades for Cisco IOS XR and Nexus devices. The entry shows how to set up DHCP server and HTTP configurations on the first day of deployment.
On-boarding network devices can be challenging. Manual configuration increases the risk of human error. Upgrades to newer software images can also be quite complex, and testing is rarely automated.
Tools like Zero Touch Provisioning (ZTP) for XR and Power On Auto-Provisioning (POAP) for Nexus makes this process easier. By automating the on-boarding of devices with these tools, you can complete initial software installation and the day-0 configuration without human intervention.
However, configuring ZTP and POAP in your environment requires knowledge around DHCP, HTTP, and other tools. Upgrades for existing network devices still require you to manually save the configuration of the device and reboot it with the correct options. And ZTP and POAP do not include automated tests.
To enable customers to take full advantage of ZTP and POAP, this application automates these tasks:
The solution helps operators configure HTTP, DHCP or TFTP from a single portal, without requiring extensive technology knowledge. Since everything is managed from a single point, alerts with extensive descriptions can be sent to monitoring tools when troubleshooting is needed.
The solution leverages the following Cisco technologies:
The following documentation is available:
Owner
Contributors
Categories
Analytics & AutomationCollaborationData CenterNetworkingEnterprise NetworkingProducts
CrossworkIOS XRNX-OSWebexProgramming Languages
CSSLicense
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community