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 LiebenbergSenior Wireless Engineer -
I have taken several paid and non-paid Python courses. I can say that by far your course is the best one I have taken. The way you explained stuff just makes sense to me.
Joli MartinezAutomation Engineer -
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 deGuzmanSenior Network Engineer
Course Syllabus
Class1: Nornir Fundamentals
- Overview
- Nornir's System Components
- Inventory System
- Inventory Example
- Plugins and Tasks
- First Nornir Task
- Concurrency and .run()
Class2: Config Options, Handling Results, Simple Tasks
- Nornir Config Options
- Introduction to Results Objects
- Simple Netmiko Task
- Simple NAPALM Tasks
- Failed Tasks (Part1)
Class3: Inventory Expanded, Tasks Expanded
- Inventory System Expanded
- Inventory Preference
- Inventory Filtering
- Basic Nornir Inspection (Pdb)
- Netmiko + TextFSM
- NAPALM: Expanded Getters
Class4: Custom Tasks, Configuration Tasks
- Custom Tasks
- Results and Handling Custom Tasks
- Netmiko File Copy
- Netmiko Configuration Operations
- NAPALM Configuration Operations
Class5: Inventory Data/ConnectionOptions, Jinja2 and Nornir
- Inventory System - Generic Data
- Inventory System - ConnectionOptions
- Loading Additional Data
- Jinja2 templating with Nornir
- Jinja2 and Pushing Configurations
- Closing Connections
Class6: Failed Tasks, Keys and Secrets, Troubleshooting
- Failed Tasks and Exceptions (Part2)
- Managing Keys and Secrets
- Environment Variables
- Nornir Logging
- Troubleshooting and Debugging
Bonus Lesson (Plus and Premium Only)
- Ansible Inventory Plugin
- Inventory Transform Function
- Using Netmiko and NAPALM Directly in Tasks
- NAPALM and Netmiko using a Common Inventory
- Joint NAPALM and Netmiko Tasks
Bonus Lesson (Premium Package Only)
- NetBox Inventory Plugin
- Using Cisco-Genie in Nornir
- Complex Student Exercise
FAQ
What is the format of the course?
The course is a six 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 the Premium Package have a community forum where you can ask questions, post code, and interact with us and with the other students.
Has the course been updated to support Nornir3.X?
While the core course videos were recorded using Nornir2.X, the course has been updated to support Nornir3.X. These updates include a small set of videos explaining the differences between Nornir3.X and Nornir2.X, reference articles detailing Nornir2.X to 3.X changes, and updated reference Python code that uses Nornir3.X.
The course's lab environment will also utilize Nornir3.X.
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-XE, Cisco NX-OS, Juniper, and Arista).
What are the prerequisites for the course?
This is an intermediate Python course (intermediate from a network engineer's perspective). You should be familiar and capable of using standard Python constructs such as functions, loops, and conditionals. You should also be familiar with handling complex Python data structures (i.e. nested lists and dictionaries). Finally, you should be familiar with both YAML and Jinja2.
You also need to be familiar with basic network engineering (routing, switching, Cisco CLI configuration).
Finally, since the lab environment will use Linux. You should be at least somewhat familiar with Linux. You should know the basics of how to move around the file system, execute a script, and edit a file.
Why Nornir?
Nornir is a Python automation framework created by David Barroso. It simplifies systematic management of inventory and concurrency. It has built-in integrations for both Netmiko and for NAPALM. Since both the framework itself and your code directly use Python, you have the standard Python tools available to you: pycodestyle, black, pytest, Pdb.
What is the community forum?
The community forum is a forum where students can interact, post code, ask questions, and make recommendations. Students that purchase either the Plus or the Premium Package will have access to the community forum 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
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
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.
Ollie & Luna
Ollie and Luna specialize in chasing squirrels, taking naps, chewing chew toys (and occasionally laptop cables), and being good pups. They are both partial to Nornir.