Cisco
Technology
Networking
Cisco Network Automation with Python (CNAP)
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.
About the course
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 content
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
Who Should Attend
The primary audience for this course is as follows:
- Network Administrators
- Python devs
- Administrators interested in Automation
- Individuals interested in devops, specifically for networking