8296  Reviews star_rate star_rate star_rate star_rate star_half

Network Automation with Python and Ansible

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...

Read More
Duration 5 days
Course Code ALTA3-PA
Available Formats Classroom

Overview

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.

Skills Gained

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.

Who Can Benefit

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

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

Prerequisites

  • Recommended Prerequisite: Python Basics (5 days)

Course Details

Follow-on Courses

  • Recommended Follow up: Python for Network Automation (5 days)

Day 01

Morning – 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

Morning – 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

Morning – 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

Morning – 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

Morning – 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

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

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

Overall it was a good bootcamp. A lot to cover so it is understandable that the pace had to be a little fast.

I registered a day before class and am happy that I received all the materials and links in time for the class. Thanks.

it was good and very informative. Instructure covered everything in detail.

Great instructor, clear and concise course. Labs were easy to follow and worked perfectly.

ExitCertified provided us with a great opportunity to learn more about React and in easy to follow way.

Prerequisites