Alta3 Research

Enjoy the best in Network Automation with Python and Ansible Training

No two networks are the same! Learn to automate your network with a Python and Ansible skillset. 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.

AWS Training Partner

Network Automation with Python and Ansible

This course teaches students to blend Python skillsets with Ansible through the lens of automating networks. Automation techniques for the most popular vendors (incl. Cisco, Juniper, Arista) will be subjects of study, however students may request examples from vendors within their own environments. Topics begin with a focus on automating networks with Python. This skill set is then folded into a broadening understanding of automating with Ansible. By the conclusion of this course, Students will have programmatic experience automating enterprise class networks, including writing custom Ansible modules with Python.

Class is a combination of lecture, demonstration, and hands-on labs. Students are invited to share their own relevant Python and Ansible 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 a cloud-share or email. Lab time will reinforce that day’s topics and demonstrations.

Class is appropriate for those interested in automation, specifically network automation, and those looking to marry a Python and Ansible skill-set.

Network+ Training

Course Outline

Day 01 – Critical Python Catch Up & Review

  •         Overview of Python and Ansible
  •         Python whitespace rules & best practices
  •         Conditional expressions
  •         Relational and Boolean operators
  •         Lists, Tuples, Dictionaries
  •         Indexing and slicing
  •         Built-in functions
  •         Writing custom functions
  •         Getting at methods
  •         Iterating with Loops (for and while)
  •         Working with files
  •         Software Control Management (SCM) (Git, Github, Bitbucket, Cloudshare, etc.)
  •         Getting at RESTful interfaces with Python
  •         Working with JSON
  •         Python, Ansible and Paramiko
  •         Using Paramiko to SSH with keys and passwords

 

Day 02 – Python and Network Automation

  •         RESTful API review
  •         API keys
  •         Paramiko Review
  •         Using Paramiko to SFTP with keys and passwords
  •         Introduction to Netmiko (automating routers and switches)
  •         Using Netmiko to send commands to / from network devices
  •         Working with YAML
  •         Converting JSON to YAML with Python

 

 

Day 03 – Critical Ansible Catchup & Review

  •         Ansible keywords
  •         YAML and JSON for data exchange
  •         Ansible and YAML
  •         Ansible Playbook components
  •         Tying together Python and Ansible – Using Python within Ansible
  •         Ansible Network Modules
  •         What is new in Ansible (most current updates / release notes)
  •         Network Agnostic modules
  •         Writing network playbooks
  •         Reviewing the construction of network playbooks
  •         Writing Ansible playbooks that respond to network failures

 

 

Day 04 – Blending Python and Ansible Skillsets

  •         Review how to use Python within Ansible
  •         Calling Python scripts with Ansible
  •         Jinja2 Templating Engine for Python (and Ansible)
  •         Using Templates in Ansible playbooks
  •         Jinja2 filters, looping, and other useful tricks for automating with Ansible
  •         Playbook tagging for selective runs
  •         When to use Python and when to use Ansible
  •         “Big Picture” options for using Python & Ansible within your Network
  •         Ansible Roles
  •         Extending Ansible to support Palo Alto (Optional – Case Study)
  •         Extending Ansible to support Juniper vendor modules (Optional – Case Study)
    •         Extending Ansible to support NAPALM (Optional – Case Study)

 

Day 05 – Customizing Ansible with Python

  •         Review – Running Scripts with Ansible
  •         Prompting for Ansible user input
  •         Ansible Galaxy & Getting at Roles
  •         Writing a custom Ansible Module with Python
  •         Ansible “Engine” vs Ansible “Tower” – marketing hype, capabilities, costs, etc.
  •         Case Study: Automate your Enterprise Network
  •         When to use Python and when to use Ansible
  •         Writing your own Ansible modules in Python
  •         “Big Picture” options for using Python & Ansible within your Network
  •         Overview – NETCONF / YANG and what they mean for Python and Ansible
  •         Molecule – Testing your roles
Network+ Training

Labs

 

  1. Using vim
  2. Using & Installing Python
  3. Making a Github account
  4. Data within mixed lists
  5. Understanding More about Lists
  6. Python Dictionaries
  7. Getting dir(obj) help() and pydoc
  8. Copying Files and Folders
  9. Moving and Renaming Files and Folders
  10. IPv4 Testing with if
  11. Paramiko – SSH with RSA Keys
  12. Paramiko – SFTP with UN and PW
  13. Space APIs the Final Frontier
  14. More APIs – Final Frontier is Vast
  15. Interaction with APIs – NASA 01
  16. Interaction with APIs – NASA 02
  17. Install GNS3
  18. Setup for GNS networking
  19. Configure the Switches
  20. Running Netmiko
  21. Running your first Playbook
  22. Debug Module
  23. Playbook Prompts
  24. register and when
  25. EOS Get Config and Archive
  26. Agnostic Network Modules
  27. Network Playbook Error Handling
  28. Network Playbook Precheck
  29. Network Playbooks with Roles and Rollbacks
  30. Securing Playbooks with Vault
  31. Network Playbooks, Set Fact, and Fail
  32. Debug, Loops, and YAML Lists
  33. Running a script with Ansible
  34. Jinja Filters
  35. Ansible, Python Methods, and Jinja Filters
  36. Ansible and APIs
  37. Python and Ansible
  38. Writing an Ansible Module with Python
  39. AWX Tower
  40. Molecule – Testing Roles
Network+ Training

Who should attend?

  • Network Administrators
  • Ansible devs
  • Python devs
  • Administrators interested in Automation
  • Individuals interested in devops, specifically for networking

 

Network+ Training

Prerequisites

  • Basic Linux skills are helpful.
  • Familiarity with a text editor like vi, vim, or nano is helpful.

 

Client Testimonials

Be wary of companies that pay external vendors to farm and post reviews, many of them are not authentic. Ours come straight from Google, you can’t alter reviews on Google Maps in any way. Don’t take our word for who we are – hear from our clients:

5 Star Reviews

Get Network Automation with Python and Ansible training

Our award winning superior training solutions are designed to help you set effective business goals and attain measurable business outcomes. With return clients and multiple testimonials, we have established ourselves as a premier training solution provider for corporate teams across the globe, providing nothing less than the best corporate training in the marketplace.

aws training

Looking for Network Automation with Python and Ansible training and Certifications?

And no, we will not relentlessly hound you with sales calls, we promise! Please reach out to us with any questions you might have. We welcome the opportunity to talk through your individual training needs, or that of your team. We are a no pressure, service oriented company. Reach out – you’ll be glad you did!