Easy Wins

From Building Network Automation Solutions

Revision as of 10:49, 4 November 2018 by Ivan Pepelnjak (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

Hands-on Exercises

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

Detailed description of hands-on exercises …

Guest speakers

The guest speakers in this module include:

Autumn 2017

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.

More about Dinesh Dutt

Spring 2017

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.

More about Scott Lowe

Self-study materials

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.

The very minimum you'll need to solve the hands-on exercises are YAML, Jinja2, Using Ansible and Ansible Networking Modules sections from Ansible for Networking Engineers online course.

If you have any time left, go through the additional recommended materials for this module starting with organizing your code and data.

Recordings of live sessions