Network Automation with Python - Bootcamp

This 4-day instructor-led course provides in-depth hands-on training on using Python to test, configure and observe your network. This includes:

  • Netmiko, Scrapli, NAPALM (network tooling)
  • Batfish, SuzieQ, Pytest and pyATS (network testing)
  • Jinja2, Schema Validation (config generation)
  • Nornir, Ansible (config management)
  • Git (version control)
  • CI/CD (automated workflow/processes)

By the end of this course, you will be able to:

  • Automate the backup of your network device configurations.
  • Version control your network configuration.
  • Generate device configuration using templates.
  • Automate the validation of your network configuration before deploying it to the network.
  • Automate the deployment of your network configuration to the network.
  • Test your network to ensure it is running as expected.
  • Generate reports to show the status of your network.
  • Automate your network automation workflow/process using CI/CD.

In this course, we will cover:

Introduction

  • Introduction to network automation
  • Network automation principles

Python Tools

  • Netmiko
    • Introduction to Netmiko
    • Getting config
    • Sending config
    • Parsing (TTP, Genie, TextFSM)
  • Scrapli
    • Introduction to Scrapli
    • Scrapli vs Netmiko
    • Getting config
    • Sending config
    • Parsing (TTP, Genie, TextFSM)
    • Scrapli Cfg
  • NAPALM
    • Introduction to NAPALM
    • NAPALM vs Scrapli/Netmiko
    • Getters
    • Other methods
    • Config operations (merging/replacing config)

Network Testing

  • pyATS
    • Introduction to pyATS
    • Testbeds
    • CLI vs Python interaction
    • Genie (Parse, Learn, Diff)
    • AETest and EasyPy
  • Batfish
    • Introduction to Batfish
    • Deployment
    • Snapshots
    • Configuration analysis
    • Control-plane analysis
    • Flow analysis
  • SuzieQ
    • Introduction to SuzieQ
    • SuzieQ vs Batfish
    • Deployment
    • Interaction methods
    • Inventory and namespaces
    • Services and tables
    • Asserts
    • Time-based analysis
    • Summarizations
  • Pytest
    • Introduction to Pytest
    • Pytest vs pyATS
    • Fixtures (conftest and scoping)
    • Parametrization
    • Plugins (HTML, xdist)
    • Integrating with NAPALM

Config Generation

  • Jinja2
    • Introduction to Jinja2
    • Variables
    • Loops
    • Conditionals
    • Lists and dictionaries
    • Includes
    • White space control
    • Filters
  • Schema validation
    • Introduction to Schema validation
    • Cerberus Python library

Config Management

  • Nornir
    • Introduction to Nornir
    • Nornir setup (config, initialization)
    • Nornir inventory
    • Nornir inventory filtering (basic, advanced)
    • Nornir tasks
    • Nornir results
    • Nornir plugins
  • Ansible
    • Introduction to Ansible
    • Ansible vs Nornir
    • Ansible inventory
    • Ansible diff and check
    • Ansible loops
    • Ansible facts
    • Ansible and Jinja2
    • Ansible modules

Git

  • Introduction to Git
  • Main components
  • Git workflow
  • Git branches
  • Git push and pull
  • Pull Requests

CI/CD

  • Introduction to CI/CD
  • Introduction to GitHub Actions
  • Network CI/CD workflow
  • How to configure a network-based CI/CD

Further details:
  • Prerequisites:
    • Basic networking knowledge
    • Basic Python knowledge
  • Duration: 4 days
  • Price: £1,808/$2,260
  • Dates/times:
    • TBC
  • Delivery: Remote instructor-led sessions
  • Whats Provided?
    • Code example repository from the course
    • Five mini-projects
    • One month of support for mini-projects
    • Ready-to-use multi-vendor laboratory
    • Practical tasks and activities
    • Session slides



What Our Previous Students Say ...

"Packet Coders touched on many tools and provided a solid starting point for delving deeper into the tools addressed, as well as providing a good level of information to help in deciding which tools might be right for our environment."

"Truly top notch. I would recommend this class to anyone who is looking to better understand how to piece together this universe of automation tooling in a way they'll actually be able to use afterwards."
"This bootcamp provides you a complete picture of Network Automation coupled with the right tools and hands on experience. Kudos to the Packet Coders Team!"
"Fantastic course, with an excellent instructor who is a clear subject matter expert in the field of network automation."

"Fastest path to get from zero to hero in network automation!"
"Excellent training where you can interact and learn network automation."
"Great course for jump starting your Python knowledge for network automation."