Python Automation Network

Course Overview:

This 5-day 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 Objectives:

  • You will MASTER all the Python 3 key concepts starting from Scratch. No prior Python or programming knowledge is required
  • Learn how to automate the configuration of networking devices with Python 3 in a Multivendor Environment
  • Learn network programmability with Python, GNS3 and Ansible
  • Learn and apply advanced Python concepts like Multiprocessing and Multithreading in Network Automation
  •  See real-world examples of automation scripts with Python for Cisco IOS, Arista EOS or Linux
  • Understand how to use Telnet and SSH with Python for network automation
  • Learn how to use and improve Paramiko and Netmiko for automation of common administration tasks with Python
  • Automate and troubleshoot network configurations with Ansible
  • You will be able to use Ansible, manage Ansible Inventory files, Tasks, Modules for Linux and networking devices, Playbooks, Vaults and YAML Files
  • Use NAPALM Python library in a Multivendor Environment
  • Learn how to configure networking devices with Python using a Serial Console Connection
  • Improve the existing Python modules and create your own modules for network automation
  • You will ultimately gain real-life skills for a good Network of DevOps Engineer
  • You will learn in-depth general Python Programming

Pre-requisites:

  • 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

Target Audience:

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

Course Duration:

  • 5 Days (35 Hours)

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

This module will discuss Python Loops and Functions and code modularity. It also will discuss Python file handling and manipulation.

  • 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

 

Course Customization Options

To request a customized training for this course, please contact us to arrange.

Best selling courses

CLOUD COMPUTING

Enterprise Architecture

DATA SCIENCE

Tableau Basic

ARTIFICIAL INTELLIGENCE / MACHINE LEARNING / DEEP LEARNING

RPA with UiPath

PROGRAMMING / CODING

MATLAB Fundamentals