OVERVIEW
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.
PREREQUISITES
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++
COURSE SUMMARY
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
COURSE OUTLINE
MODULE 1 – GETTING STARTED WITH PYTHON
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.
MODULE 2 – AUTOMATING NETWORK DEVICES WITH NETWORK LIBRARIES
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.
MODULE 3 – A DEEPER LOOK INTO RESTFUL (HTTP) APIS
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.
MODULE 4 – USING ANSIBLE FOR NETWORK AUTOMATION
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.
MAJOR POINTS:
*
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
http://networktocode.com [http://networktocode.com/]
culture
4837
Views
13/06/2020 Last update