Easy Wins


Home » Courses » Building Network Automation Solutions » Easy Wins

You have to be registered for this online course, or have this course selected as part of an active Expert Subscription to access all course materials.

Easy Wins

The second module of the network automation online course focuses on easy wins - things that can add significant value to your existing network operations just with read-only access to the network devices.

You'll learn how to gather data using vendor-specific API, show commands or NAPALM, and how to produce summary- or compliance reports.

More information...

Understanding Ansible

You won’t be able to follow the rest of this module without a thorough understanding of Ansible. If you haven’t completed the Ansible for Networking Engineers online course, please do it now.

At the very minimum, you have to understand YAML, Jinja2, basics of Ansible, and Ansible networking modules.

1:14:16 Creating Summary and Compliance Reports

In Spring 2017 course we covered various ways of creating summary- and compliance reports with Ansible, and in the Autumn 2019 course we added a short primer on dealing with large Ansible inventories.

After watching the videos describing the underlying principles and exploring numerous examples you’ll be ready to solve the Easy Wins hands-on exercises.

Creating Reports 46:45 2017-01-20
Compliance Checks 18:19 2017-01-20

Additional resources

Slide deck 4.1M 2017-01-20
Sample summary report playbooks
Sample compliance checks playbooks
Create list of fabric links based on interface descriptions
Create network topology diagram from LLDP neighbors

9:12 Implementation hints

Dealing with Large Inventories 9:12 2019-09-03

49:53 Compare Network State after a Change

One of the simple solutions that can increase the reliability of your network is comparing the network state before and after a change.

This case study describes:

  • How you could collect and compare network state
  • How to collect network state with Ansible and compare it with diff
  • How to remove time-dependent information from the network state
Defining the Problem and Selecting the Tools 14:34 2017-09-28
Quick and Dirty Solution 9:28 2017-09-28
Removing Time-Dependent Information 10:33 2017-09-28
Improvements and Answers to Questions 15:18 2017-09-28
Slide deck 5.9M 2017-09-25
Source code (Ansible playbooks and test script)

Sample Ansible Playbooks

Before moving to hands-on exercises you might want to spend some time exploring the sample Ansible playbooks I created to illustrate the concepts discussed in this module.

Sample summary report
Sample compliance checks
Create fabric description from interface descriptions
Use LLDP data to create fabric description or network diagram
Collect and compare network state

Hands-on exercises

Hands-on exercises for the second module are relatively simple: assuming you already built your network automation lab, create a simple summary report. Looking for tougher challenge? Don’t worry, it’s waiting for you.

Homework: Create a simple summary or compliance report
Submit your homework
Overview: Submitting Hands-On Exercise Solutions

Additional resources

21:22 Organizing Your Data and Code

Once you start working on real-life automation challenges, the single-directory-per-project approach quickly turns into a morass - it's time to organize your code and data into an easy-to-understand hierarchical structure. This section describes several approaches that you might apply to small proof-of-concept solutions or large production-grade projects.

Organize Your Code and Data 21:22 2018-04-18
Slide Deck 2.5M 2018-02-27

Additional Resources

Make your Ansible playbooks flexible, maintanable and scalable by Jeff Geerling

55:22 Manage Network Device Configurations with Git

One of the first steps on anyone's automation journey should be tight control of device configurations using a version control system. This section describes how you can use Git and GitLab/GitHub to track changes to device configurations, correlate changes to tickets or business requirements, implement review and approval workflow, and finally use Git as the single source of (configuration) truth.

Manage Device Configurations with Git 12:42 2023-11-09
Track Changes to Device Configurations 11:33 2023-11-09
Approve Changes with Merge/Pull Requests 8:37 2023-11-09
Use Feature Branches to Document Changes 6:40 2023-11-09
Change/Approve/Deploy Configurations with Git 15:50 2023-11-09

1:28:31 Troubleshooting Networks with NetQ

NetQ is a tool developed by Cumulus Networks that allow you to validate proper operation of your network (BGP and OSPF adjacencies, LLDP neighbors...), log network state changes, inspect network state at any time in the past, and perform end-to-end path tracing including overlay-to-underlay mapping.

State of Data Center Troubleshooting 16:07 2017-09-28
Introducing NetQ 21:46 2017-09-28
Troubleshooting Networks with NetQ 32:13 2017-09-28
Customizing and Extending NetQ 18:25 2017-09-28
Slide deck 25M 2017-09-26
NetQ test lab (Cumulus-in-the-Cloud)

Further Reading

OpenConfig. Part 2. New NETCONF modules in Ansible 2.6 (examples for Arista EOS, Cisco IOS XR and Nokia SR OS – Karneliuk
Telemetry. Part 3. OpenConfig YANG modules for Arista EOS, Nokia SR OS, Cisco IOS XR with Ansible – Nokia – Karneliuk

Related Software Gone Wild Episodes

Schprokits with Jeremy Schulman

Schprokits never came out of stealth mode, the podcast is interesting because of the blast radius discussions.

Toolsmith at Netflix with Elisa Jasinska

Elisa left Netflix years ago - what's interesting is the idea to have a dedicated network automation toolsmith within an organization.

You started this section on %started% Mark completed