Network Automation with Python Bootcamp

Network Automation with Python Bootcamp
"Fantastic course, with an excellent instructor who is a clear subject matter expert in the field of network automation."

Overview

Join our Network Automation Python Bootcamp, carefully designed to lead you through the various technologies, workflows, and tools essential to succeed in network automation. The best way to learn is by doing; and this Bootcamp has been carefully constructed to provide the maximum hands-on experience through labs based on real-world scenarios.

What You Will Learn

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

  • Model and Validate your network configurations.
  • Automate deployment and Test pre/post updates.
  • Version Control and Review configurations collaboratively.
  • Implement CI/CD workflows.

Tools/Technologies Covered

  • NetBox (SoT ; Source of Truth)
  • Batfish and Pytest (Pre-testing)
  • Cisco pyATS/Genie (Post-testing)
  • Jinja (Configuration templating)
  • JSON Schema (Schema validation)
  • RESTful and GraphQL APIs (Data retrieval)
  • Ansible (Configuration management)
  • Git (Version control)
  • CI/CD (Automated workflows)

Agenda

Introduction

  • Network Automation Use Cases
  • Elements of Network Automation
  • Principles of Network Automation

Source of Truth


NetBox
  • NetBox Introduction
  • Source of Truth Concepts
  • Features of NetBox
  • NetBox Use Cases
  • Organizational Modeling
  • Device Modeling
  • Device Type Templating
  • Connection Modeling
  • IP Address Management (IPAM)
  • Rack Elevation Views

APIs


REST APIs
  • REST APIs Overview
  • HTTP Methods, Headers, and Responses
  • HTTP Status Codes
  • Structure of a REST Query
  • Authenticating REST Queries
  • REST API Communication
  • Using Postman for REST APIs
  • Querying REST APIs with Python
  • NetBox REST API Usage
  • NX-API REST API Usage

GraphQL
  • GraphQL Fundamentals
  • Components of GraphQL
  • GraphQL Communication
  • Comparing GraphQL and REST
  • Formulating GraphQL Queries
  • GraphQL Variables
  • GraphQL Arguments
  • Exploring with GraphiQL
  • GraphQL in Python
  • NetBox GraphQL API Integration

Network Testing


pyATS
  • pyATS Introduction
  • pyATS Testbeds
  • CLI vs Python in pyATS
  • Genie Parser
  • Learning with Genie
  • Genie Differences
  • AETest Framework
  • EasyPy Jobs
  • pyATS with GraphQL and NetBox

Batfish
  • Batfish Overview
  • Batfish Deployment
  • Batfish Snapshots
  • Config Analysis in Batfish
  • Control-Plane Analysis
  • Flow Analysis with Batfish
  • Batfish L2 Caveats
  • Data Querying with Pandas

Pytest
  • Pytest Fundamentals
  • Pytest vs pyATS
  • Pytest Fixtures and Scoping
  • Test Parametrization
  • HTML Reporting with Pytest Plugins
  • Batfish Integration

Config Generation


Jinja2
  • Jinja2 Overview
  • Jinja2 Variables
  • Jinja2 Loops
  • Jinja2 Conditionals
  • Lists and Dictionaries in Jinja2
  • Template Modularization with Includes
  • White Space Control in Jinja2
  • Jinja2 Filters: Built-in and Custom

Schema Validation
  • Schema Validation Introduction
  • Basics of JSON Schema
  • JSON Schema Components
  • JSON Schema Validators

Config Management


Ansible
  • Ansible Overview
  • Ansible vs. Nornir
  • Static Ansible Inventory
  • Dynamic Inventory with NetBox
  • Ansible Tasks
  • Ansible Loops
  • Ansible Variables
  • Host/Group Variables in Ansible
  • Ansible Modules
  • Lookup Plugins in Ansible
  • Ansible Filters
  • Ansible with Jinja2
  • Ansible Dry Runs
  • Check Mode in Ansible
  • Ansible Facts
  • Ansible, NetBox, and GraphQL Integration
  • Populating NetBox with Ansible

Version Control


Git
  • Git Introduction
  • Staging Changes with Git Add
  • Creating Commits in Git
  • Managing Git Branches
  • Pushing and Pulling with Git

GitHub
  • GitHub Branch Management
  • Tracking Issues on GitHub
  • Using Blame in GitHub
  • Commit History in GitHub
  • Handling Pull Requests on GitHub
  • GitHub Workflow and Collaboration

CI/CD

  • Introduction to CI/CD Concepts
  • Getting Started with GitHub Actions
  • Understanding Network CI/CD Workflow
  • Exploring GitHub Actions
  • Understanding GitHub Runners
  • Managing Secrets in GitHub
  • Configuring GitHub Actions

Delivery Options

On Demand
£795
Begins:
Date of registration.
  • Self-paced learning
  • 3-month access to lab
  • Lifetime access to course materials
  • Dedicated learning environment
  • Hands-on lab with exercises
  • Code and scripts included
  • Office hours and Slack support provided
Live / Instructor-led
£2595
January 27–31, 2025
April 28–May 2, 2025
  • Live training /w expert instructors
  • 6-month access to lab
  • Lifetime access to course materials
  • Dedicated learning environment
  • Interactive labs with live feedback
  • Code and scripts included
  • Intensive 5-day live training
  • Immediate lab assistance
  • Extended 30-day Slack support
  • BONUS LESSON - NetBox Branching!
Flexible payment options available – pay in installments with Klarna.
Learn more by selecting Klarna at checkout after clicking 'Register Now.'

What Our Previous Clients 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."
"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."

Subscribe to our newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox.
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!