Starts October 24

Ansible Network Automation Course

Student Success

  • I decided to take Kirk's courses on Ansible and Nornir during the stay-at-home-orders in 2020 when COVID-19 hit the world. After the first few lessons I was able to write my first script to check for and add VLANs to our NX-OS environment.

    Stian Liebenberg
    Senior Wireless Engineer
  • I highly recommend both courses (Ansible and Netmiko) for those looking to learn more about network automation. Kirk Byers does a great job at explaining the content, provides the lab resources required to perform the course material, and is good at responding to questions on his Slack Channel.

    Andrew Turner
  • I am on the material for the 3rd week and I just wanted to compliment you on the way that you explained how to unwrap the data structures. Best step by step explanation I have seen so far to help me understand and work with the data. Thank you very much!

    Ray deGuzman
    Senior Network Engineer

Course Syllabus

Class1: Ansible Fundamentals

  • Course introduction
  • Git, Git, Git, Git-out-of-here
  • YAML - this is not the indentation you are looking for
  • Ansible Overview
  • Inventory
  • Ansible Playbook Structure

Class2: Variables, Modules, Network Fact Gathering

  • Ansible Variables
  • Ansible Modules
  • Cisco IOS Modules (basics)
  • Arista EOS Modules (basics)
  • Using cli_command
  • Directly Passing Credentials
  • Privilege Escalation (Become/Enable)

Class3: Conditionals, Loops, and Configuration Templating

  • Idempotency - what the what
  • Tags/Limit/Check Mode
  • Conditionals
  • Loops
  • Jinja2 as part of Ansible
  • Configuration Templating Basics
  • Advanced Configuration Templating

Class4: Making Network Configuration Changes (Basics)

  • Ansible Network Configuration Overview
  • Resource Modules
  • Feature Specific Modules (IOS)
  • Feature Specific Modules (EOS)
  • Feature Specific Modules (NX-OS)
  • net_* Modules
  • Write Mem and Ansible Handlers

Class5: Making Network Configuration Changes (Part2)

  • Using platform_config Modules
  • Using cli_config
  • Config Hierarchy and platform_config
  • Deploying Jinja2 Generated Configurations
  • SSH Key-based Authentication
  • Module Path
  • Collections

Class6: Imports, Includes, and Roles

  • Include vs Import - Dynamic vs Static
  • Including Variables
  • Importing Tasks
  • Including Tasks
  • Roles

Class7: Parsers and Dynamic Inventory

  • hostvars
  • Block/Rescue/Always
  • Ansible and TextFSM
  • Ansible and Genie-Parsers
  • Ansible and RegEx
  • Dynamic Inventory - Some Python Required

Class8: Additional Ansible Techniques and Debugging

  • Ansible Lookups
  • Ansible Filters
  • Ansible Plugins
  • Manipulating Complex Data-Structures
  • Ansible Debugging
  • Using Ansible Vault

Bonus1: NAPALM-Ansible (Plus and Premium Packages only)

  • What is NAPALM?
  • NAPALM for Information Gathering
  • NAPALM Merge Operations
  • NAPALM Replace Operations
  • Templating and NAPALM

Bonus2: OS Upgrade IOS/IOS-XE, Creating your own Filter/Module (Premium Package only)

  • Demo: OS Upgrade of Cisco IOS/IOS-XE using Ansible
  • Creating your own Ansible Filter - Some Python Required
  • Creating your own Ansible Module - Some Python Required


What is the format of the course?

The course is an eight-week email course. Each week you will receive a lesson that contains a set of videos, some additional content, and some exercises. We will post solutions to the exercises online. Both the Plus and Premium Packages will have a community forum where you can ask questions, post code, and interact with us and with the other students.

Is there a lab environment?

Yes, the lab environment will consist of a set of virtual and physical network devices and at least one AWS-Linux server. I will install a set of libraries in the lab environment; this will enable you to get working quickly. The lab environment will have a mixture of vendors and platforms (Cisco IOS/IOS-XE, Cisco NX-OS, Juniper, Arista).

What are the prerequisites for the course?

You need to be familiar with basic network engineering (routing, switching, SNMP, Cisco CLI configuration). You also need to be at least somewhat familiar with Linux. You should know the basics of how to move around the Linux file system, execute a script, and edit a file.

There are no programming prerequisites for this course except—there are a few small sections that require some understanding of Python (these sections are noted in the syllabus above). These "Python" sections can generally be omitted/skipped without significantly affecting your Ansible understanding or value received from the course.

Why Ansible?

Ansible has a large community of engineers and programmers working on creating, improving, and helping with network automation. It has a systematic approach to inventory, a modular architecture that promotes code-reuse, and a large set of modules for interfacing to networking devices.

What is the community forum?

The community forum is a Slack channel where students can interact including posting code, asking questions, code reviews, and recommendations on Ansible resources. You will gain access to the forum by purchasing either the Plus or the Premium Package. Access to the channel will last for the duration of the course.

What if I am unsatisfied with the course after I sign-up?

If you are not satisfied with the course, there is a 30-day money back guarantee. No questions asked.

About Us


Kirk Byers is the founder of Twin Bridges Technology–a business specializing in network automation training. He is the creator of the Netmiko Python library and also one of the maintainers of the NAPALM project. He teaches Python, Ansible, and Nornir courses for Network Engineers and writes about network automation. He is a long-time network engineer (CCIE #6243 emeritus), has extensive experience with *nix system administration, and is a Python programmer. He is interested in programming and networking and how to improve network engineering practices through automation.


Zack is a programmer extraordinaire. His language of choice is Python. He loves programming and is very big into games including: Magic the Gathering, Brawl Stars, Wyrmspan, and Terraforming Mars.


Jupiter is all dog. She loves to be near her people and loves her food (not necessarily in that order). She likes the water, the beach, retrieving her water kong, and meeting new people. She is categorized as "an aggressive chew breed" and is living up to that grouping.

Starts October 24

Ansible Network Automation Course