From Building Network Automation Solutions
At a Glance
- High-intensity interactive online course;
- Jump-start your network automation career;
- Hands-on experience working on a solution to your own problem;
- 9 module course spread across ~3 months;
- Live discussion and guest speaker sessions;
- Design and coding assignments and group work;
- Final course completion certificate.
Let’s start with some easy wins that require read-only access to network devices and no data model apart from inventory of devices.
We’ll gather device facts through SNMP and generate software version reports, continue with gathering IP addresses and generating list of subnets configured in our network, collect ARP and MAC tables to build a comprehensive list of hosts visible in your network, and conclude with a simple validation script that will report devices with outdated software version.
You will be able to get the job done with information-gathering modules available in standard Ansible distribution (starting with version 2.2), the daredevils will use NAPALM or other third-party Ansible libraries.
You’ll be able to choose among these hands-on assignments:
- Create a device health report (CPU utilization, memory utilization…);
- Collect hardware inventory
- Collect ARP tables and create a list of hosts in each subnet
- Collect CDP/LLDP, OSPF or BGP neighbors and build a network topology diagram (requires Graphviz or Gephi)
- Collect device IP addresses and create DNS zone files
The guest speakers in this module include:
Network automation is becoming more widely, if grudgingly accepted. However, this acceptance has not spread much beyond initial configuration, and there are genuine reasons why automation isn't easy to adopt. With ideas such as BGP unnumbered, the domain of network configuration can be significantly simplified. But what about the life of a network operator after the initial configuration ? How do we automate validation and troubleshooting ?
Dinesh Dutt, the guest speaker in September 2017 course, explained why we need new tools to supplant existing network troubleshooting tools, and described the new technologies and tools being developed. He concluded his presentation with a deep dive into NetQ, the tool Dinesh had been working on for over a year.
Scott Lowe started his transition from an infrastructure engineer focused on storage and virtualization into full-stack engineer familiar with open-source software in 2012. He started by exploring the intricacies of Git and GitHub and continued the journey by researching the capabilities of Open vSwitch, LibVirt, etcd,Terraform, Vagrant/VirtualBox, Docker and Ansible.
In spring 2017 course he focused on lessons learned while using Git/GitHub. We also spent a significant amount of time talking about his journey toward becoming an open-source-aware full-stack engineer. You'll find his presentation in the Getting Started module.
The study materials for this module will help you create network automation solutions using read-only access to network devices. They assume you already mastered Ansible. I would recommend you use self-paced guidance to track your progress.
Additional recommended materials
If you plan to generate reports in HTML format and are not familiar with HTML markup, it won't hurt to go through one of the online HTML tutorials.
You might also find these Software Gone Wild episodes interesting (each one is ~1 hour long):
- Schprokits with Jeremy Schulman, particularly the blast radius discussions;
- Toolsmith at Netflix with Elisa Jasinska