
This video will give you an overview about the course.
Section overview and explain the tools used in this course.
• Explain Python version used
• Code editor used in course
• Lab hardware Used in course
Looking at the actual lab and interaction between Server and Lab.
• We build a virtual 2-datacenter Lab in VIRL
• We look at logical topology and configuration of Lab
• We Looked at the management node setup
We will review the key networking concepts relevant to the course.
• We will look at the OSI model
• We will look at IP, TCP, and UDP headers
• We will look at routing protocols
We will review the key Python concepts.
• We will look at Python built-in types
• We will look at Python operators and Control flows
• We will look at Python functions
In this video, we will go over what we define as classic network devices.
• Explore classic network devices expect a human engineer on the other end
• Look at Python and object-oriented programming
• Learn about model network devices as objects
In this video, we will use Python OOB to create network models.
• Use Python to create a Car object
• Use Python to create a network device Object
• Add attributes and methods to the network device object
In this video, we will look at how Python Netmiko library can be used to interact with Cisco IOS devices.
• Overview of Netmiko library
• Netmiko connection test
• Netmiko example
This video will help us use practical examples to create a network object.
• Create network object from Lab and incorporate Netmiko
• Show command and config backup example
• Check config consistency example
We will use Sqlite as the database backend f or information persistence.
• Benefits of using database
• Sqlite example in interactive prompt
• Sqlite example using Python script
Look at how Python interact with API-enabled devices in NX-OS, IOS-XR, Juniper, Arista, and Vyatta.
• Example of Cisco NX-OS, IOS-XR
• Example of Juniepr and Arista
• Example of Vyatta
We will create a final integrated example.
• Network object with API backend
• Show command and config backup example with API
• Configure VLAN example
In this video, we will take a brief overview of Ansible.
• Explore the basics of Ansible
• Install and configure Ansible
We will look at different Ansible elements and run our first playbook.
• YAML and INI file formats
• Ansible inventory and variables
• Run our first playbook
We will explore Cisco Module Example 1: Backup Facts and Device Configuration.
• How to piece together modules to achieve our goal
• Example of network facts backup
• Example of network configuration backup
We will have a look at Cisco Module Example 2: Security.
• Ansible playbook for network security
• Example of configuration using conditional
• Example of configuration of access list with declaration
We will look at encrypt sensitive information with Ansible Vualt.
• Explore the need Ansible Vault
• Encrypt entire files
• Encrypt just the variables
In this video, we will use Ansible Templates to generate network configuration files.
• Explore the basics of Ansible template
• Learn about Jinja2 format
• Learn from the Template example
We will use Python to write our own Ansible Module.
• Construct custom module and location
• Explore Custom module content
• Learn from the example of custom module
Course Conclusion.
• Course conclusion
• Connect with me
• Good Luck
The goal of the course is to master key Python concepts as they are applied in the network engineering context. Computer Networks, large and small, has become ever increasingly software-driven in the last several years. A typical network engineer faces the challenge of learning a completely new discipline that normally takes years to master. This course will use Python, an easy-to-learn, popular first-time-programmer language as the foundation to bridge the gap for network engineers facing the automation challenge, this will help network engineers become experts in using Python for networking. The video will start by demonstrating how to use Python and supported libraries to automate network tasks. Then you will get familiar with the concepts and work with the Ansible framework in order to achieve your network goals. You will then come across ways to monitor your network using Python. Besides this, you will develop a good understanding and explore ways to solve issues related to the security wheel that treats the network as one single entity instead of dispersing components. By the end of the course, the students will master skills required to accomplish advance network automation using Python.
All the code and supporting files for this course are available on Github.
About the Author
Eric Chou is a seasoned technologist with over 17 years of experience. He has helped managed some of the largest networks in the industry while working at Amazon and Microsoft and is passionate about network automation and Python. He shares this deep interest in these fields through his teachings as a Python instructor, blogger, and active contributor to some of the popular Python open source projects. Currently, Eric holds two patents in IP Telephony and is a principal engineer at A10 Networks with a focus on product research and development in the field of security. He’s a successful author of the book Mastering Python Networking which has sold impressive number of copies.