Network Automation with Python
This course teaches students to utilize Python with the goal of automating Cisco networks. Students will have programmatic experience automating enterprise class networks by the conclusion of this course.
Description
Network Automation with Python
No two networks are the same! Learn to automate your Cisco network with a Python. Course can be taught across all major (and most minor) network vendors. Course demonstrations can be adapted to best-fit the customer’s network to ensure all lessons have maximum relevance.
Email for Private Class Information on Python!
Course Objectives:
Upon completion of this course, the student should be able to meet these overall objectives:
- This course teaches students to utilize Python with the goal of automating Cisco networks. Students will have programmatic experience automating enterprise class networks by the conclusion of this course.
- Class is a combination of lecture, demonstration, and hands-on labs. Students are invited to share their own relevant Python scripts with the instructor to ensure class subjects are as relevant as possible.
- All notes and scripts will be made available to students by the end of each day via Webex Teams. Lab time will be given reinforce that day’s topics and demonstrations.
- Class is appropriate for those interested in automation, specifically network automation in a Cisco environment.
Course Outline
Section 1: Critical Python Catchup & Review
- Overview of Python
- Python white space rules & best practices
- Printing and more Printing
- Date types and Variables
- Packing and Unpacking Variables
- f Strings
- Conditional expressions
- Relational and Boolean operators
- Lists, Tuples, Dictionaries
- Indexing and slicing
- Built-in functions
- Iterating with Loops (for and while)
- Working with files
- Software Control Management (SCM) (Git, Github, Bitbucket, Cloudshare, etc.)
- Using Python to access Cisco REST interfaces
- Working with JSON
Section 2: Python and Cisco Network Automation
- Python, Ansible and Paramiko
- Using Paramiko to SSH with keys and passwords and Cisco IOS devices
- RESTful API review
- API keys
- Paramiko Review
- Using Paramiko to SFTP with keys and passwords
- Introduction to Netmiko (automating Cisco routers and switches)
- Using Netmiko to send commands to / from Cisco network devices
Lab Outline:
Labs are designed to assure learners a whole practical experience, through the following practical activities:
- Lab 1: Build your 1st Python Script
- Lab 2: More Python
- Lab 3: Strings in Python
- Lab 4: Using argv
- Lab 5: Lists and Dictionaries
- Lab 6: Loops and if-else
- Lab 7: Defining a Function
- Lab 8: Using Python Scripting with Cisco SDWAN
- Lab 9: Telnetlib and Cisco IOS-XE Devices (Optional)
- Lab 10: Paramiko and Cisco IOS-XE Devices
- Lab 11: Netmiko and Cisco IOS-XE Devices