Reference: Network Automation Tools


Home » Courses » Building Network Automation Solutions » Reference: Network Automation Tools

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.

Reference: Network Automation Tools

Guest speakers presenting in live course sessions described numerous interesting network automation tools. While the examples in this course usually use Ansible, don’t limit yourself to a single tool. After mastering it, start exploring the alternatives - they might be a better fit for your next challenge.

More information...

Tools covered in other modules

Version control with GIT

Git is the source-control tool of choice not only for most open source project, but also for extremely large teams like Facebook or Microsoft Windows development team. It seems a bit convoluted when you start, but you’ll quickly discover its benefits in this Getting started with Git tutorial by Scott Lowe.

Continuous Integration with GitLab CI

GitLab CI is one of the commonly-used networking-focused continuous integration tools due to its agent-based architecture.

In this section Pete Lumbis explained how he uses GitLab CI to test his network automation scripts and device configurations.


This section describes how you can NetBox to provide the source of truth for IP address assignments, IP subnet allocation, VLAN numbering, and even shared secrets like RADIUS keys.

Event-driven automation with Salt

Salt is a highly-scalable automation tool used in very large environments like LinkedIn and CloudFlare.

This presentation covers Salt architecture, terminology, configuration, operations, and using Salt for event-driven automation.

ChatOps with Slack

Jeremy Schulman described real-world use cases using Slack to create commands that drive network automation workflows. He discussed the features of Slack he'd used and covered what he'd learned so far in terms of pros-and-cons, including integration with Ansible Tower.

2:10:06 Network Automation with Chef

Chef is not a most commonly-used network automation tool, but you might still encounter it in environments where it's already used for system management. In this section you'll learn what Chef is, how to set it up, and how to configure Nexus OS switches using on-device Chef agent.

Why Would You Use Chef or Puppet 16:22 2018-04-04
Chef Overview 31:45 2018-04-04
Puppet Overview 10:27 2018-04-04
Implementing Chef 31:03 2018-04-04
Chef for Nexus OS 27:40 2018-04-04
EVPN Use Case 12:49 2018-04-04

Additional Information

Slide Deck 5.0M 2018-04-04
Installing Chef and Using Chef with Nexus 9000 601K 2018-04-08

2:28:05 Python-Only Automation Solutions with Nornir

David Barroso introduced Nornir: a pluggable multi-threaded framework with inventory management that makes it easier to operate a collection of devices with tons of data than server-focused tools like Ansible.

David started with simple code examples that require almost no Python proficiency, demonstrated Nornir inventory and host selection mechanisms, described a simple intent-based networking example, and concluded with a brief introduction of various integration options.

41:49 Nornir Basics

Introduction 8:15 2020-06-13
Nornir Inventory Management 11:35 2020-06-13
Filtering Inventory Hosts 12:32 2020-06-13
Running Tasks 9:27 2020-06-13

23:35 Simple Examples

DIY Intent-Based Networking 7:12 2020-06-13
Integration with Other Systems 16:23 2020-06-13

1:22:41 Nornir 3.0 Deep Dive

Inventory Plugins 14:54 2020-11-23
Connection Plugins 11:14 2020-11-23
Processors 14:21 2020-11-23
Runners 14:41 2020-11-23
Functions 7:24 2020-11-23
Orchestrator 20:07 2020-11-23

In December 2020, Daniel Teycheney published a deep dive into Nornir inventory filtering capabilities

More Information

Slide Deck: Nornir Basics 4.6M 2020-05-26
Slide Deck: Nornir 3 Deep Dive 3.7M 2020-06-11
Automating the deployment of a BGP fabric with Nornir
Ansible versus Nornir: Speed Challenge
Nornir 3 Deep Dive Slides on GitHub

2:12:09 Apstra AOS

JP Senior used Apstra AOS EVPN-with-VXLAN application to describe:

  • How Apstra AOS uses graph databases to describe network topology and your intent;
  • How the graph database information is translated into device data models and final device configuration;
  • How Apstra AOS combines the intent you specified with device telemetry to detect anomalies in your network.
Intent Graph Modelling 20:45 2018-11-29
From Graphs to EVPN Configurations 45:09 2018-11-29
Implementation Gotchas 27:10 2018-11-29
Product Demo 39:05 2018-11-29
Slide deck 18M 2018-11-27

Other Resources

Mastering Network Automation with Python 5.6K 2022-01-11

This document contains a list of third-party resources past attendees of this course found useful when they decided to master network automation with Python, be it as a standalone tool, or as a programming language needed to extend Ansible or Nornir.

Other useful open-source automation tools
You started this section on %started% Mark completed