DevNet Automation Exchange is a community-based developer center where our networkers and developers can learn to Walk, Run, and Fly with Network Automation, using Cisco’s products and the full capabilities of the new network. They are defined as follows:

  • Walk: Get visibility and insights in their networks in a read-only way. This enables use cases such as gathering telemetry and insights from running networks and performing auditing to ensure the ongoing security of the network. 
  • Run: Activate policy and intent across different network domains. This enables use cases such as providing self-service network operations that comply with security policies and operational guidelines. 
  • Fly: Proactively manage applications, users, and devices with DevOps workflows. This enables use cases such as deploying applications in continuous integration and continuous delivery (CI/CD) pipelines while configuring the network by new application policies. 

 Automation Exchange Sprint 

We often run sprints that are aligned with our team objectives, this allows us time to focus on key areas of our work, with little interruptions. In our most recent sprint, we focused on building further uses cases for Automation Exchange. During the sprint, adding submissions into Automation Exchange was done in a few variants. Some of these are written and submitted by our team, some come from interlocks that we have with our engineering teams within Cisco, and others are from DevNet community members. 


 New Submissions 2021

In the week of the sprint, we were able to add thirty new use cases and submissions! Let’s take a look at some of the new submission which were added during this five-day sprint:  

Detect, notify and create a Host Group containing all the IP addresses generating High Traffic.  This use case is quite simple. Based on the config files, this script automatically logs in to the targeted Secure Network Analytics SMC and looks for all the IP addresses that, in the last hour (a parameter that can be modified in the configs), either as a source or as a target, generated an abnormally high total traffic. 

ZTP2GO: Zero Touch Provisioning with Cisco IOS XE and Raspberry Pi.
Easily provision Cisco IOS XE based networking devices on the go with a Raspberry Pi. When deploying a fresh or reset Catalyst 9000 switch, it can be easily provisioned on the go by connecting a Raspberry Pi (Ubuntu Server, ISC DHCP Server, Apache/Nginx Webserver).

Imagine you are a large-scale retailer and you have hundreds, if not thousands, of sites where you need to deploy identical Wi-Fi networks. Network programmability enables you to scale and replicate that deployment, but running those scripts and the access control requires a network engineer onsite or available through phone for every single deployment. Managing the serial numbers of Meraki devices at different sites presents an enormous challenge as well. 

Vulnerability reports for Cisco IOS, NX-OS and ACI using the PSIRT Open Vuln API.
Are you tired of crawling the PSIRT newsletter to eventually hit relevant security advisories? Well, in this instalment of ‘Automate the boring stuff’ Ansible does the job for you. This playbook collects the software version of all devices in the inventory, queries the 
Cisco PSIRT OpenVuln API and renders an infrastructure specific markdown report.

 The following two were submitted by the DevNet community, with whom I have the greatest of pleasures to collaborate. 

Cisco Services APIs Ansible Playbooks
Cisco Facts and Genie Parsed Commands to Business-Ready Documentation Ansible Playbooks. Ansible has several “Facts” modules –
ios_facts and nxos_facts – that capture data and transform it into JavaScript Object Notation (JSON) which we then use Jinja2 Templates to transform again into business-ready documentation. Cisco also has release Genie parsers – combined with Ansible you can first run an IOS / NXOS show command, then with Genie, parse that command into JSON. Once you have the JSON you can transform it with Jinja2 into CSV / Markdown.

Nornir /Scrapli using Netconf on IOS XR (Truckasaurus).
Using python libraries 
Nornir and Scrapli configure and retrieve configuration details for Access-List, BGP, OSPF and NTP 

 Creating the right content 

Our engineering team, along with the DevNet Developer Advocate team, revamped Automation Exchange to align better for submissions and finding use cases. We want to see your use-cases. What problems you are solving with network automation? How you are using APIs to solve business solutions? 

The submissions and content are fully reviewed before they are made available for customers, partners and the DevNet community to help them solve their unique use cases. For example, a network automation use case is a set of technical actions that can map to a business outcome: 

  • Is the use case being the budget driver? 
  • Can use case can go across different devices and software platforms 
  • A good definition of use cases is critical for business case qualification and healthy project execution 

The use-case must be well documented so that everyone has the same expectations of the outcome. Submit your use case here at DevNet Automation Exchange.

 Have a comment or question?
Please leave me a note in the comments section below.

We’d love to hear what you think. Ask a question or leave a comment below.
And stay connected with Cisco DevNet on social!

Twitter @CiscoDevNet | Facebook | LinkedIn

Visit the new Developer Video Channel


Stuart Clark

Senior Developer Advocate Of Community, AWS