Clouds

Network Automation with Python and Ansible

Essential Skills Gained

Checkmark

Version controlling code with Git

Checkmark

Open SSH sessions and pass commands to remote servers

Checkmark

Remotely open CLI to network devices

Checkmark

Move files via SFTP

Format

5 day course with lecture and hands-on labs.

Audience

Network administrators

Ansible developers

Python developers

Administrators interested in automation

Individuals interested in Network DevOps

Description

Continue your studies of Ansible, with a focus on automating common elements within the network. In addition to Ansible, students will study enough Python to understand Ansible's plugin architecture. Lessons and labs focus on using both Python and Ansible to interact with and configure your network devices. At the conclusion of this course you will return to work empowered with skills necessary to automate network management. This class is a combination of live demonstrations and hands-on labs with virtual network devices and endpoints as targets for your configuration. Students looking for server applications should see: Ansible 202 - Server Automation with Python and Ansible

Summary

  • 💻 Register for Poll

  • 💻 Welcome to the Alta3 Research Lab Environment

Up and Running

  • 💻 Using Vi and Vim

  • 💻 Using VSCode

  • 💻 Tmux

Certification

  • 💻 Network Automation with Python and Ansible - Alta3 Research Certification Project

AI LLM Toolkit

  • 💻 Large Language Model toolkit for AI Solution Assistance

Software Control Management

  • 💻 SCM Option #1 - GitHub

  • 💻 SCM Option #2 - GitLab

Python and Ansible Overlap

  • 💬 Introducing Python

  • 💻 Getting dir(obj) help() and pydoc

  • 💬 Data Types for Python and Ansible

  • 💻 Python Lists

  • 💻 Python Dictionaries

  • 💬 Ansible Playbook Components

  • 💻 Running a Playbook

  • 💻 Debug and URI Module

  • 💻 Debug, Loops, and YAML Lists

API Operations

  • 💬 RESTful APIs and JSON

  • 💻 Exploring Open APIs

  • 💻 Ansible Keywords: register and when

  • 💻 API Tokens with Python and Ansible

SSH Operations

  • 💬 SSH Operations

  • 💻 Paramiko vs Ansible - SSH with RSA Keys

  • 💻 Paramiko - SFTP with UN and PW

  • 💬 Ansible for SSH operations

  • 💻 Ansible "raw" Module

Ansible Tools

  • 💻 Jinja2 Filters

  • 💻 Ansible, Python Methods, and Jinja Filters

Switches and Routers

  • 💬 Netmiko

  • 💻 Running Netmiko

  • 💻 Network Playbooks, Set Fact, and Fail

  • 💻 Ansible Get Switch Config and Archive

  • 💻 Agnostic Network Modules

  • 💻 Ansible and TextFSM

Playbook Design

  • 💻 Network Playbook Error Handling

  • 💻 Network Playbook Precheck

  • 💻 Network Playbooks with Roles and Rollbacks

Ansible Workflow

  • 💻 Ansible Collections

  • 💬 Ansible Workflow

  • 💻 ansible-runner

Security

  • 💻 Securing Playbooks with Vault

  • 💻 Playbook Vars Prompts

Building out Playbooks

  • 💻 Ansible Module - template

  • 💻 Ansible and APIs

Python and Ansible

  • 💻 Running a script with Ansible

  • 💻 YAML, JSON, Dynamic, and Cloud Inventories

  • 💻 Writing an Ansible Module with Python

  • 💻 When to Use Python or Ansible

Playbook Tests

  • 💻 Roles and Molecule

Case Study

  • 💻 Ansible for Palo Alto PanOS and Panorama

Additional Labs

  • 💬 Introduction to Ansible

  • 💬 Static Inventory

  • 💬 Introduction to YAML

  • 💻 ansible.cfg setup

  • 🏆 Complex Data Slicing

  • 💻 Ad-Hoc Modules and Gather Facts

  • 💻 Ansible Vault

Appendix

  • 💬 Glossary

Continuing Education

  • 💻 Continuing Education

  • 💬 Curriculum Path: NetDevOps

  • 💬 Curriculum Path: ServerAdministration

Your Team has Unique Training Needs.

Your team deserves training as unique as they are.

Let us tailor the course to your needs at no extra cost.