Network Automation using Python

Python has gained popularity in recent times for network automation along with server automation. Network engineers are beginning to use Python to automate regular network tasks and increase the efficiency. This workshop will focus on automating multiple use-cases that network administrators shall encounter in their day-to-day jobs using Python. We will work on both the off-the-box Python code to connect to devices from outside and Cisco devices on-the-box Python support to monitor the device state and trigger alarms to 3rd party systems. This workshop heavily focuses on hands-on labs (more than 70% of course time) along with necessary theory where required.

Workshop Objectives

  • Learn core Python scripting elements such as variables and flow control strictures
  • Writing basic Python scripts and verify
  • Learn how to automate network infrastructure using Python
  • Using Python network automation libraries such as Netmiko, Napalm, Nornir, etc.
  • Network Automation using REST, RESTCONF and NETCONF Interfaces
  • Learn how to automate Cisco IOS-XE, IOS-XR and SD-WAN devices
  • Developing real-life network automation uses cases and case studies

I. Workshop Training Modules

Day 1

  • Lists, Dictionaries, File I/O
  • Conditionals, Loops and Exceptions
  • Classes, Functions, Methods
  • Regular Expressions
  • Packages (Using Pip)
  • Hands-on Lab: Building a basic network packet generator
  • JSON
  • YAML
  • CSV
  • Excel (pyexcel, pandas)
  • Hands-on Labs: Working with Files
  • Introduction to Netmiko (Vs Paramiko)
  • Configuring Network devices
  • Netmiko Prompt (Enable and Global Config mode)
  • Automating the backup of configs
  • Netmiko troubleshooting
  • Hands-on Labs
  • Installation
  • Validating deployments
  • YANG
  • Supported Devices
  • Integrations
  • Hands-on Labs

Day 2

  • Python Multi-threading
  • Automate multiple devices at scale
  • Installation
  • Comparison to Netmiko and NAPALM
  • Genie library and network state backup
  • Hands-on Labs
  • Netconf Protocol Overview
  • Supported Devices
  • Python Ncclient library
  • Automate configs with NETCONF
  • Hands-on Labs
  • Restconf Overview
  • Supported Devices
  • Python Requests Library
  • Automate configs with RESTCONF
  • Hands-on Labs
  • Restconf Overview
  • Supported Devices
  • Python Requests Library
  • Automate configs with RESTCONF
  • Hands-on Labs
  • Execute CLI via Python on Cisco Guestshell devices
  • EEM Config changes to Cisco Spark room
  • EEM Interface flapping and send emails
  • Hands-on Labs

II. Pre-Requisites

Networking fundamentals, TCP/IP, Familiarity with Python or another scripting language, Familiarity with Linux terminal, Text editors like VIM

III. Target Audience

Technical Leaders Network Support Engineers
Software Engineers (Dev/Test) Network Administrators/Engineers

IV. Information on Hands-on Labs

Participants need to have the below requirements to be able to do hands-on exercises.

  • Modern Laptop computer (Windows or Mac or Linux)
  • Internet Access to Lab setup on Cloud
  • SSH and VNC connectivity to Lab VM 

Select Date

Early Bird Registration Offer

07/16/2024 to 07/17/2024
$1,200.00

Session timings:  09:00AM – 4:30PM

5000+ Participants served

4.7+ out of 5 Participant satisfaction scores

Individual Lab(s) for each Learner

Good Content, very good introduction part about SD-WAN

The instructors demonstrated profound knowledge about the topic, labs were well prepared

The whole lab was excellently organized and set up. Kudos to the team!