NetDevOps on DevNet _blank
Welcome to NetDevOps Live!

NetDevOps Live! is a weekly webinar series from DevNet where anything related to network automation, programmability, and NetDevOps is on the table and fair game for discussion.

Webinars run live at 11am Eastern on Tuesday's every week during the season and are edited and make available in video on-demand shortly after the live event.

Join the discussion in the NetDevOps Live! Webex Teams Room

Jump to...
Season 3 | Season 2 | Season 1 What's new with Ansible Network Automation Season 3 Talk 1 presented by Andrius Benokraitis and Sean Cavanaugh

For many, Ansible was their introduction to network automation and it continues to be a go-to choice for engineers and organizations around the world. Hank will be joined by Andrius Benokraitis and Sean Cavanaugh from Ansible to learn what is new and exciting, and what we have to look forward to!

Code Exchange Challenge

Build an Ansible playbook or role that tackles your most common configuration challenge.

Example: Configure standard host port configurations for printers, access points, workstations, servers, etc

Submit your code (or explore examples) on Code Exchange Power Your NetDevOps Workflows with GitLab Season 3 Talk 2 presented by Brad Downey

So you've worked out how to git clone, add, and push. That's awesome, but there's more to network automation workflows than that. Enter GitLab, a popular tool for software developers looking to bring sanity to their collaboration and code pipelines. Join Hank and Brad Downey from GitLab to learn how you can supercharge your projects with Issues, Wikis, CICD pipelines, Artifacts, and of course Code!

Code Exchange Challenge

Find an interesting project on Code Exchange and try it out. Bonus points, send feedback to the owner!

Example: Start by exploring the Python Networking Category !

Submit your code (or explore examples) on Code Exchange Fishing for Network Health with Batfish Season 3 Talk 3 presented by Samir Parikh

What is the last thought every engineer has before pushing that configuration change? "Gee, I sure hope this works 🤞..." With Batfish you can stop relying on HOPE and push changes with confidence because Batfish KNOWS. In this episode, Hank is joined by Samir Parikh from Intentionet, the team behind the open source project that uses MATH to model network policy configurations, and lets engineers insure that the desired intent is met before deploy time.

Code Exchange Challenge

Let’s go Fishing! Write a network validation test using Batfish.

Example: Verify that Access Control Lists are implementing the policy you actually want!

Submit your code (or explore examples) on Code Exchange HashiCorp Brings a Cloud Operating Model to Network Engineers Season 3 Talk 4 presented by Kevin Corbin

I've no doubt you've heard of their tools, and likely you've heard the name HashiCorp. But did you know that the company behind Terraform, Vagrant, Consul, Vault, and so many other foundations of cloud native development can also help NetDevOps teams modernize their tooling? In this episode, Hank brings previous NetDevOps Live! presenter Kevin Corbin to share what he's been up to since joining HashiCorp's network automation team!

Code Exchange Challenge

Use Terraform with the DevNet ACI Always On Sandbox to Configure a Tenant and Application Profile

Example: You know, everyone knows it, but can you "Infrastructure as Code" the much loved Web/App/Data 3 Tier Architecture?

Submit your code (or explore examples) on Code Exchange Give your Network a REST with Postman Season 3 Talk 5 presented by Kevin Swiber

Postman has been a supporting character in so many network automation lessons and presentations, but today it's the star of the show. Network engineers world-wide are leveraging REST APIs to communicate with devices, controllers, management systems, and other applications. Postman can be your cockpit for exploring, storing, sharing, and manipultating these APIs. Join Hank and Kevin Swiber from Postman to learn how to supercharge your REST API skillz!

Code Exchange Challenge

Pick your favorite Cisco REST API and build and share a Postman Collection that authenticates, GETs, POSTs, and DELETEs!

Example: Go for DNA Center, ACI, vManage! So many options

Submit your code (or explore examples) on Code Exchange The Truth! Your Network WILL Handle the Truth with NetBox Season 3 Talk 6 presented by Jeremy Stretch

Who would have thought IP Address Management would be one of the hottest topics in network automation? If anyone did, it was Jermey Stretch. You'll have to pardon Hank if he's a bit star struck on this one, because not only is Jermey leading the team behind NetBox, he's also the creater of the networking cheatsheets that have helped many of us learn networking fundamentals. Whether you've been using NetBox for years, or never heard of it before, you'll want to join this episode to learn why Source of Truth MUST be a key to your network automation strategy.

Code Exchange Challenge

Use NetBox as a Source of Truth in an automation project. Use it to drive configuration, or verify it. Your call!

Example: Check to see if interface descriptions configured on a switch match what’s listed in NetBox

Submit your code (or explore examples) on Code Exchange Logging and Back Again - A Network Engineers Journey with ELK Season 3 Talk 7 presented by George Kobar

Sure.. you've figured out how to up your game in network configuration, but what are you doing to modernize your network monitoring and logging? I bet you're still stuck in the stone age, stock piling syslog like a dragon hordes gold, hoping you never need look through it to find that particular gem of good information. Join Hank on his quest through the Mines of Local7 guided by the Wise Wizard of ELK, George Kobar!

Code Exchange Challenge

Event driven something! Monitor syslog for some key message and take an action based on it.

Example: Every time the configuration changes on a device send yourself a chat message!

Submit your code (or explore examples) on Code Exchange Python Skills and Techniques for Network Engineers, Part 1 Season 2 Talk 1 presented by Hank Preston

Most network engineers didn't start as developers, we kinda just learned as we went, hacking together something that "worked". In this session you'll learn simple coding skills and techniques that you can use today to make your code something you'll be proud to share and show off.

Code Exchange Challenge

Leverage one or more of the suggestions shown in an active network automation project of yours and submit to Code Exchange!

Example: Move your functions into modules (ie other files) and import them into main script for better modularity.

Submit your code (or explore examples) on Code Exchange Picking your First Network Automation Project Season 2 Talk 2 presented by Eric Thiel

Network automation, like any new skill should be taken slow. Crawl before you walk, then finally start running. In this talk we'll consider what types of challenges and problems are good candidates for early automation projects.

Code Exchange Challenge

Hold a whiteboard session for your team. Pick one task that involves only reading information, and test it using Genie CLI, Ansible, or the tool of your choice.

Example: Back up configs from your IOS XE devices to a local file using Ansible.

Submit your code (or explore examples) on Code Exchange Solving Operational Challenges with Network Automation Season 2 Talk 3 presented by Stuart Clark

There is more to network automation than pushing out configuration snippets. Network automation skills can help solve day to day operational challenges too.

Code Exchange Challenge

Try using click to build command line applications for your Python scripts

Example: Use echo for printing text, build standard options which will take a string as input

Submit your code (or explore examples) on Code Exchange Embrace the DRY Principal with Network Configuration Templates Season 2 Talk 4 presented by Bryan Byrne

So you're automating your network, that's great. But are you finding yourself writing the same code over and over? Imagine a single OSPF template for any type of area, be it normal or stubby. Learn how to make the dream a reality with tools like TextFSM and Jinja!

Code Exchange Challenge

Take a common configuration task and create a reusable CLI template. Bonus: Use TextFSM to validate the change!

Example: Configuring SNMP community strings or interface configuration.

Submit your code (or explore examples) on Code Exchange Laptop Tips and Tricks for the NetDevOps Engineer Season 2 Talk 5 presented by Hank Preston

As NetDevOps Engineers we are using our laptops in new and different ways. In this session we'll take a look at 10 of my favorite tips that you can take advantage of yourself.

Code Exchange Challenge

Put together some bash scripts and/or a Makefile for one of your network automation projects to help setup the environment.

Example: Add "make dev" and "make clean" capabilities to your project.

Submit your code (or explore examples) on Code Exchange Designing and Developing Network Services with NSO Season 2 Talk 6 presented by Kevin Corbin

Wouldn't it be great if you could configure the network as a single wholistic item, rather than adding that VLAN to 500 individual switches? With Network Services, you can do just that, and NSO provides an excellent platform for designing and developing these services with ease.

Code Exchange Challenge

Build a simple service using the VLAN sample code as an example.

Example: Create a service to manage NTP or SNMP settings on IOS and NX-OS devices.

Submit your code (or explore examples) on Code Exchange Better Ansible Network Automation with Roles and Custom Modules Season 2 Talk 7 presented by John McDonough

In this session we will see how you can peel back the covers on Ansible and explore Roles and even look at the underlying Python code to see how you can make it more better.

Code Exchange Challenge

Take what you’ve seen today and apply to an active project. Then submit it to Code Exchange!

Example: Create an Ansible Module for a playbook task that currently uses the shell or command modules. OR Create an Ansible Role for a task or set of tasks common to several playbooks.

Submit your code (or explore examples) on Code Exchange Is Your Network Working? Guess No More with Python Testing Powered by pyATS Season 2 Talk 8 presented by Simon Hart and Siming Yuan

Do you get a cold sweat whenever your boss asks "Is there something wrong with the network?" Wouldn't it be great if you could know for sure if it was?

Code Exchange Challenge

Write your own Network Verifications

Example: Reachability Tests, HSRP Status, BGP/OSPF States, Interface Counts/Counters, Checks for critical routes

Submit your code (or explore examples) on Code Exchange Building Apps with Cisco DNA Center Platform Season 2 Talk 9 presented by Adam Radford

Cisco DNA Center Platform - a platform for what? Well network applications of course. What kind of applications might you build? Who is building them? Where can I get them? Can I build my own?

Code Exchange Challenge

Use the SDK (when it comes out) to access information you need.

Example: Build a host finding chat bot!

Submit your code (or explore examples) on Code Exchange Automate Safely, NetDevOps Security Strategies Season 2 Talk 10 presented by Hank Preston

Is automation safe? Like all questions in IT, the answer is it depends. This session will look at strategies you can implement TODAY to make sure your NetDevOps work is done safely.

Code Exchange Challenge

Submit a network automation project to Code Exchange that uses either Environment Variables or a “Vault” model for storing secrets.

Example: Create an src_env.template file that users can use to create a src_env for a lab device. Then read in that data using the os library in your script.

Submit your code (or explore examples) on Code Exchange Becoming a NetDevOps Engineer - A Discussion with the Community Season 2 Talk 11 presented by Eric Thiel

So you want to be a NetDevOps Engineer, what does it take to make it? While no one knows the future, what we can do is ask important questions. Join this session for an open and candid discussion with members of the NetDevOps community.

Panelists: Claudia de Luna , Jathan McCollum , Jeremy Schulman

Code Exchange Challenge

Just start! Build a bit of interesting code and submit it to Code Exchange to share!

Example: What is your "Hello World" for networking?

Submit your code (or explore examples) on Code Exchange Stop Waiting for that Network Feature, Build it Yourself Season 2 Talk 12 presented by Adrian Iliesiu

One of the most interesting aspects of Software Defined Networking is that ANYONE can build network features. In this talk we'll explore some of the options availalbe on Cisco platforms and see an example of how easy it is to get started yourself.

Code Exchange Challenge

Build a custom show command highlighting details that matter to you!

Example: Create a new version of “show interfaces” that displays the specific details you look for when troubleshooting.

Submit your code (or explore examples) on Code Exchange Linux Bridges, IP Tables, and CNI Plug-Ins - A Container Networking Deepdive Season 2 Talk 13 presented by Matt Johnson

While everyone loves a good mystery, a mysterious network is NEVER a good thing. In this session we'll shine a bright light on the "pipes" that connect containers together.

Code Exchange Challenge

'Containerize' your favorite network automation script for easier portability!

Example: Include a Dockerfile in the repo that describes and installs all necessary Python dependencies.

Submit your code (or explore examples) on Code Exchange Useful Python Libraries for Network Engineers Season 1 Talk 1 presented by Hank Preston

Through the session you'll learn how to leverage the tried and true interfaces of CLI and SNMP to manage your network before we jump up to newer options like NETCONF, RESTCONF and REST APIs. We'll even explore full configuration management solutions and discuss when and how they should fit into your overall automation strategy.

Code Exchange Challenge

Use one or more of the libraries discussed to write a Python script to automate one common networking task.

Example: Compile the MAC and ARP tables from all devices on the network.

Submit your code (or explore examples) on Code Exchange It's Not a Dream, NetDevOps CICD Pipelines Can Develop, Test, and Deploy Network Configurations Today Season 1 Talk 2 presented by Hank Preston

Traditionally the Networking Configuration pipeline is anything but automated or 'continuous'. It is a complex maze of forks, bends, off shoots, dead ends, and paths that require special timing, keys, and phases of the moon. In this session learn how available tools can be leveraged to begin building a NetDevOps CICD Pipeline today!

Code Exchange Challenge

Create a sample VIRL topology file and submit to Code Exchange for others to check out.

Example: A Multi-Site DMVPN Network Topology.

Submit your code (or explore examples) on Code Exchange Deep Dive into Model Driven Programmability with NETCONF and YANG Season 1 Talk 3 presented by Bryan Byrne

In this session, we'll explore NETCONF, the widely available IETF standard for NETwork CONFiguration, and the YANG models that are providing consistent representations of concepts like "Interfaces" and "Access Control Lists."

Code Exchange Challenge

Use NETCONF to configure basic routing using your favorite protocol.

Example: Hint: Configure the device with CLI the first time, and use

to retrieve the NETCONF configuration to build a template.

Submit your code (or explore examples) on Code Exchange DevOps style configuration management for the network with Open Source Season 1 Talk 4 presented by Stuart Clark

In this session we will explore how the same tools system admins are using to manage servers, cloud and applications can be leveraged in the network to foster a DevOps culture across silos in the organization.

Code Exchange Challenge

Create an Ansible Playbook that ensures some network feature is configured as intended.

Example: SNMP, NTP, TACACS, VLANs, Routing

Submit your code (or explore examples) on Code Exchange What's the big deal about Source Control? Why your network configurations should be in "git" Season 1 Talk 5 presented by Matt Denapoli

Ever wish you could quickly see what changed between "today's config" and "yesterday's?" Or have you ever wondered "Who made that change that broke the network?" What about wanting to explore and test some new protocol configuration in a "safe" place without impacting your production configs and templates? By using git and treating the "Network as Code," you can easily answer these questions.

Code Exchange Challenge

Open Issues, and Send PRs to sample repository to add some piece of configuration, or fix some error.

Example: Find a repository you’re interested in, open a feature issue, work on the feature and submit a PR

Submit your code (or explore examples) on Code Exchange Introduction to Network Services Orchestrator - the single API and CLI for your network Season 1 Talk 6 presented by Kevin Corbin

In this discussion and demo focused session, you'll see how easy it is to bring NSO into an existing network, one that might just look like yours today.

Code Exchange Challenge

Build your own network policies using NSO and netsim.

Example: Add NTP server configuration policy.

Submit your code (or explore examples) on Code Exchange Exploring the ACI networking plugin for Kubernetes Season 1 Talk 7 presented by Hank Preston

The ACI CNI Plugin for Kubernetes brings the power of Application Centric Infrastructure to the Docker-container driven infrastructure of Kubernetes. In this session, you'll have a chance to see all of this in action through a guided exploration of an ACI integrated Kubernetes cluster.

Code Exchange Challenge

Deploy a sample application to Kubernetes/ACI with Deployment Isolation. Provide application definition for Kubernetes and ACI.

Example: Find sample applications at

Submit your code (or explore examples) on Code Exchange Profile, test and verify your network is running smoothly with pyATS Season 1 Talk 8 presented by Kevin Corbin

pyATS is a free network testing framework from Cisco with Open Source roots. Start by profiling your network to learn what protocols are running, and their current state. Then easily compare state after changes!

Code Exchange Challenge

Write your own Network Verifications

Example: Reachability Tests, HSRP Status, BGP/OSPF States, Interface Counts/Counters, Checks for critical routes

Submit your code (or explore examples) on Code Exchange Managing network configurations with Python automation frameworks NAPALM and Nornir Season 1 Talk 9 presented by Stuart Clark

In this talk, we'll discuss some of the benefits of direct Python configuration management strategies and then explore the very mature and widely used tool, NAPALM, as well as the new and up-and-coming option Nornir.

Code Exchange Challenge

Create python scripts using Napalm and Nornir.

Example: Create interfaces, routing, NTP configurations or ACL’s, validate your configurations!

Submit your code (or explore examples) on Code Exchange Exploring the Cisco DNA Center platform Northbound API Season 1 Talk 10 presented by Adam Radford

In this talk we will take a look at the northbound REST API that is available for DNA Center Platform. You will learn how to leverage the API Console to explore the APIs.

Code Exchange Challenge

Build a Python script that leverages one of the DNA Center APIs.

Example: Report back on the health of a client.

Submit your code (or explore examples) on Code Exchange Streaming telemetry: The value of 'realtime' analytics for the network Season 1 Talk 11 presented by Stuart Clark

In this talk we'll explore Streaming Telemetry, sometimes called Model Driven Telemetry, and why it has become so popular with operations teams today.

Code Exchange Challenge

Try the Streaming Telemetry Sandbox

Example: Using the learning labs and other guides as reference. Create your own collectors for databases you use in your environment.

Submit your code (or explore examples) on Code Exchange Machine Learning and Artificial Intelligence and their role in networking Season 1 Talk 12 presented by Hank Preston Casey Bleeker

Have you ever noticed how Google, Facebook, or Amazon seem to "know" what you want before you do? Let's explore how companies use ML/AI within products available today to make things smarter and more intuitive.