This is our flagship course originally launched in early 2015. It was the industry’s first comprehensive network programmability and automation training course, and it continues to be refined and optimized for the most optimal and relevant topics for a one-week boot camp for using Python and Ansible for Network Automation.
In this course, you will be immersed into using Python and Ansible covering many topics required for a jumpstart into network automation.
Note: This is a five (5) day course.
While there are no programming, software/dev, or automation prerequisites, students should have:
Good grasp on networking concepts such as device configuration of interfaces, VLAN, OSPF, and BGP.
Basic understanding of using a Linux terminal.
Aware of how to use a text editor: SublimeText, nano, vi/vim, notepad++
Module 1 – Getting Started with Python
Module 2 – Automating Network Devices with Network Libraries
Module 3 – A Deeper Look into RESTful (HTTP) APIs
Module 4 – Using Ansible for Network Automation
Assuming ZERO background in Python, we cover the basics from data types and nested objects to functions and writing complete Python scripts in the complete context of networking.
Python Interpreter
Data Types
Conditionals
Loops
Writing Python Scripts
Functions
Working with Files
Passing Arguments from the Command Line
Working with Python Modules/Packages
This module starts on Day 1 and finishes on Day 2.
This module starts with a very brief introduction into Regular Expressions and then a look into TextFSM for parsing raw text. We then move onto covering libraries such as netmiko and NAPALM.
Parsing raw text with TextFSM
Using netmiko to communicate to SSH-based devices
Declarative Network Configuration with the NAPALM Python Library
pyntc (multi-vendor Python library)
You’ll learn to work with Python libraries such as netmiko, napalm, pyntc, textfsm, and clitable.
This module starts on Day 2 and finishes on Day 3.
This module takes a look at RESTful and more generic HTTP-Based APIs along with getting started with Postman helping the process of learning how to use any given web API.
RESTful and non-RESTful HTTP APIs
Arista eAPI
Cisco NX-API
Cisco IOS-XE RESTCONF API
Postman
Python requests
You’ll work with Postman in these labs and time permitting, get to use the Python requests library.
This module is on Day 3.
At this point in the course, you’ll understand data types, encoding formats, and APIs, and how to write super useful Python scripts automating the network. In this module, you’ll build on that knowledge first learning all about YAML and see how Ansible can be used to even further simplify your life providing an even faster means of getting started with network automation. This module covers the use of Jinja2 within Ansible for configuration templates as well as 2.5 more days of just using Ansible for network automation.
Introduction to YAML
Ansible Overview
Terminology
Variable Management
Introduction to Jinja2 Templating
Device Templating with Jinja2 + Ansible
Declarative Configuration Management with NAPALM + Ansible
Deeper dive into Ansible (conditionals, iterators, register, variables, check mode, etc.)
Using Vendor Specific Modules (Cisco NXOS and Juniper Junos Ansible modules)
Ansible Core Modules for issuing show commands and making configuration changes
OS Management with Ansible and ntc-ansible (copying files, upgrades, reboots)
Roles - Creating Network Abstractions
Automating Data Gathering & Documentation
Dynamic Inventory Scripts
This module starts on Day 3 and finishes on Day 5.
This is a five (5) day intense boot camp.
Class hours still start at 9am and run until about 5:00pm. Final day usually ends a few hours earlier.
This course will use a combination of the following device types: Cisco NX-OS, Cisco IOS, Arista EOS, and Juniper JunOS devices.
Each student will have their own dedicated pod with at least 8 network devices
This was the industry’s first network automation boot camp.
Private boot camps available upon request.
This course has over 50% hands-on labs
The course is not for the faint of heart. In other words, you have to be passionate about learning network automation and have the desire or need to skill up to an expertise level within a short period of intense focus.
Brought to you by Network to Code, LLC