Next Steps for ZTP operations with Cisco NSO
Following previous articles explaining how i could register automatically some Cisco and Juniper network devices thanks to embedded python librairies, let's dive deeper into how these devices will now recover their final day-1 configurations. This article is intended to be a long-term article. It will be updated on a per day/week basis depending on the blockers/surprise i will be facing.
In this lab, we will cover two possible scenarios from which will study how to provision automatically the final configuration of Cisco Systems and Juniper Networks devices.
To let you have a better understanding of this ZTP journey, please let me remind you the previous articles written on that topic :
Table of Contents:
__________________________________________________________________________
Here is the list of the materials used to perform this lab :
__________________________________________________________________________
Overview of protocols and features for each device (Device Matrix)
__________________________________________________________________________
领英推荐
Enumeration & description of both scenarios which will be studied
This article will mainly rely on python scripts that will integrate some Restconf calls. However, i currently have two different scenarios in mind to perform this lab.
The first scenario will aim to let the several devices which are part of this lab to download by themselves their final configuration from NSO. In this scenario, the device will download and execute a python script from a remote server so it can fetch its day-1 configuration from NSO server.
A second scenario will aim to code a python script which will parse NSO CDB for new devices. From there, and depending on the device role (CPE or PE), the script will push the remaining configurations to each device.
__________________________________________________________________________
Current state of situation and Goal:
At this step, we have several devices in the network which are synchronized with NSO CDB. Three new devices are going to be added.
The initial python script used in previous articles was managing the uniqueness of hostnames. The new version of the script will handle a new hostname naming design as well as the assignment of a specific category for each device depending on the device function in the network (CE or PE).
Initial State:
New Features:
Network | Security | Automation | Web Services
1 年Hi Jeremie Rouzet, Have you been able to make further progress with this? I have an idea for incorporating Jinja templating that would receive specific inputs like management IP's from an IPAM server. I believe such Jinja templates would be able to perform "custom" ZTP configuration per device that would have plug-n-play aspects with existing production environments.
NetDevops
2 年Added some more details about the design and scenarios ;-)
NetDevops
2 年This article is not related to a particular project i have to handle but is more here to share some new experiences related to network programmability.
NetDevops
2 年Again, this article is not finished yet but it aims to be fullfiled until we reach the final result. Moreover, i have identified two possible scenarios which will be described along this journey ! Please do not hesitate to review, comment, share your tricks and advises. Thanks in advance for your contributions !