Python Automation Network

Course overview

This 5 days hands-on training course delivers expertise on Python Network Automation. You will MASTER all the Python 3 key concepts starting from scratch. No prior Python or programming knowledge is required. You will learn how to configure networking devices with Python using a Serial Console Connection. And learn how to automate the configuration of networking devices with Python 3 in a Multivendor Environment as well as Use NAPALM Python library in a Multivendor Environment. Learn and apply advanced Python concepts like Multiprocessing and Multithreading in Network Automation.

Course Duration

5 Days

Cost

Audience

  • Network Administrators, Network (Systems) Engineers, Network (Service) Technicians, Network Analysts, Network Managers 
  • Junior Programmers, Test Engineers, Test Automation Engineers, QA Engineers and Analysts

Prerequisites

  • No prior Python knowledge is required. There is a general Python Programming section included. 
  • Basic Knowledge of Networking Concepts (TCP/IP Stack, Cisco CCENT or CCNA Level) 
  • A Linux, Mac or Windows Machine with an Internet Connection and at least 4GB of RAM 
  • No paid software required. Only free software will be used: Python3, PyCharm, GNS3, VirtualBox, Linux, etc 
  • Cisco IOS Images should be acquired by the student (from Cisco’s official website – contract required) to run into GNS3 or practice all the concepts on real Cisco devices 
  • Basic Knowledge of GNS3 and how to run Cisco Images, although I’ll provide the necessary setup information inside the course

Course Content

Day 1 – Introduction to Python

The course will discuss the introduction to Python Programming and Python basic operating constructs. This part of the course will:

  • Describe the Python Programming
  • Describe the Python Basic Operation
  • Describe the and execute code using the Python Data types

Module 1: Python Data Types

  • Python Variables
  • Python Numbers
  • Python Strings
  • Python Lists
  • Python Tuples
  • Python Dictionary

Module 2: Python Tools & Resources

  • List / Set / Dictionary comprehensions
  • Python Lambda functions
  • Python Map, Filter, Reduce
  • Python Threading basics

Day 2 – Python Loops, Functions and Modules

The course will discuss Python Loops and Functions and code modularity. It also will discuss Python file handling and manipulation. This part of the course will:

•Describe and execute Python control flow using loops
•Describe and execute Python function
•Create modular codes using Python Modules
•Describe and execute Python File Operations Working with Text Files in Python

  • Intro
  • Opening and Reading Files
  • Reading Files Tell, Seek and Cursors
  • Opening and Reading Text Files using seek() and read()
  • question 
  • Coding Exercise Solution
  • The With Keyword
  • Reading Files into a List
  • Reading Files into a List
  • question
  • Coding Exercise Solution
  • Writing to Text Files
  • Writing Text Files
  • question
  • Coding Exercise Solution
  • Quiz for File Processing
  • questions
  • Coding Section – Working with Text Files
  • Reading CSV Files
  • Writing CSV Files
  • Using CSV Custom Delimiters
  • Using CSV Dialects
  • Coding Section – Working with CSV Files

Day 3 – Network Automation with Telnet

  • Telnet Protocol Basics. Configure and Connect to Cisco Devices Connecting to Network Devices with Telnet from Python
  • getpass Module
  • Network Automation. Configure Multiple Devices
  • Telnet Script Refactoring using Object Oriented Programming
  • Testing the Custom Telnet Class. Configure Loopback Interfaces and OSPF
  • Configure Multiple Devices Using the Custom Telnet Class
  • Network Automation With Paramiko (SSH)

Day 4 – Network Automation with Netmiko

  • Intro to Netmiko
  • Connecting and Running a Command on a Networking Device
  • Netmiko prompt. Enable & Global Config Mode
  • Running Multiple Commands on a Networking Device
  • Configure a Networking Device from a File
  • Configure Multiple Networking Devices from Multiple Files
  • Configure Backup using Netmiko
  • Improvement of the Configuration Backup Script
  • Netmiko and Linux
  • Preparing the Router for SCP
  • Copy files to Networking Devices using SCP and Netmiko Configure Arista EOS Switches
  • Netmiko in a Multivendor Environment Cisco & Arista Configuration 
  • Troubleshooting Netmiko

Day 5 – REST API access

  • working with JSON
  • using urllib2 
  • accessing urls with urllib2
  • using requests module
  • Creating account in github
  • Understanding github REST API and api.github.com
  • Uploading all the files from local machine to github gist
  • downloading all the files from github gist to to the local machine 
  • GET,POST using requests module Network Automation with Napalm 
  • Intro to Napalm
  • Installing Napalm. Connecting to a Device
  • Displaying Information
  • Retrieving Information (facts, interfaces, arp table etc)
  • Checking Connectivity Between Devices (napalm_ping)
  • Configuration Management
  • Merging Configurations
  • Configuration Rollback
  • Question and Closing

Enroll now

error: Content is protected !!