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 1For 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
m.get_config('running')to retrieve the NETCONF configuration to build a template.
Submit your code (or explore examples) on Code Exchange
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
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
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
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 https://github.com/kubernetes/examples
Submit your code (or explore examples) on Code Exchange
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
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
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
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
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.