Network Automation with pyATS: On-Demand Lab

This course covers Python based network test automation using Cisco's pyATS framework, giving you hands on practice building, running, and validating automation scripts against real network topologies. Designed for network engineers and CCNP level candidates who want to move beyond manual CLI work and into repeatable, scriptable network testing and configuration.

Book Lab Hours
⌘

Course Highlights

⌘

pyATS CLI Basics

Observe pyATS capabilities with the CLI. Inspect, compare, and validate network state using parse, learn, and diff commands without writing Python code.

▱

Low Code pyATS Blitz

Build YAML based automation with pyATS Blitz. Execute state changes and verify recovery behavior on network devices efficiently.

◈

Interactive Prototyping

Work with the pyATS Python Interactive Shell to prototype commands and data structures before writing your final automation scripts.

◆

Python Test Scripts

Structure Python based pyATS test scripts using AETest. Validate device state, routing information, and behavior using structured automation.

⚙

Device Configuration & Jinja2

Automate interface changes and decouple network configuration from Python code using Jinja2 templates for tailored multi-line deployments.

▣

Mock Devices & Simulation

Record real device responses and convert them into offline mockup files. Replay responses locally through the CLI parser and mock shell.

Move Beyond Manual CLI Work

Designed for network engineers and CCNP level candidates who want to move into repeatable, scriptable network testing and configuration using Cisco's powerful pyATS framework.

Gain hands-on practice building, running, and validating automation scripts against real network topologies from the ground up.

  • Start Without Python: Inspect and compare network states using pyATS commands and low-code Blitz testcases.
  • Build Automation Scripts: Write Python test scripts with AETest to structure and collect network device data.
  • Infrastructure as Code: Render and push multi-line configuration using powerful Jinja2 templates.
[Insert pyATS Automation Topology Diagram]

Exam & Certification Alignment

This course supports engineers working toward CCNP level automation and programmability competencies. It builds practical skills that complement the automation and programmability topics found across current Cisco certification tracks.

CCNP Enterprise (ENCOR)

Master Python programming fundamentals, working with APIs, and network automation configuration management tools.

DevNet Associate / Professional

Deep dive into the pyATS framework, parsing CLI outputs, and utilizing device testing automation structures.

CCIE Enterprise Infrastructure

Build the hands-on programmatic skills needed to automate complex topologies and validate device states reliably.

Technologies Covered

  • ✓ Cisco pyATS Framework
  • ✓ pyATS CLI (Parse, Learn, Diff)
  • ✓ Low Code pyATS Blitz (YAML)
  • ✓ pyATS Python Interactive Shell
  • ✓ pyATS AETest (Testcase Scripts)
  • ✓ pyATS Dq (Dictionary Query)
  • ✓ pyATS Pcall (Parallel Execution)
  • ✓ pyATS Mock Devices & Playback
  • ✓ Jinja2 Templating
  • ✓ Infrastructure as Code Integration

Modules & Topics

  • Understanding the tools used in the lab
  • Overview of the overall lab structure and workflow
  • Installing pyATS on an Ubuntu machine
  • Preparing the lab environment for script execution
  • Understanding device inventory and connection definitions
  • Lab: Creating a testbed from CSV using the pyats create testbed utility
  • Using parse, learn, and diff commands from the Linux shell
  • Inspecting, comparing, and validating network state without writing Python code
  • Lab: pyATS CLI Basics
  • Building YAML based automation with pyATS Blitz
  • Executing state changes and verifying recovery behavior on network devices
  • Lab: Blitz ShutNoShut Testcase
  • Prototyping commands and data structures before writing automation scripts
  • Exploring pyATS capabilities interactively
  • Writing a script to collect device inventory across a testbed
  • Saving structured script output to file
  • Lab: Collecting Device Inventory with a pyATS Python Script
  • Structuring a Python based pyATS test script
  • Connecting to all devices in a testbed and validating connection results
  • Lab: A Simple pyATS Script
  • Validating device state and behavior using structured automation
  • Lab: Verifying Log Messages
  • Lab: Verifying Service Contract Coverage
  • Lab: Verifying Routing Information with Parsers and pyATS Learn
  • Lab: Running Ping to Verify Reachability
  • Presenting pyATS test results using the pyats run job command
  • Reviewing results in a browser instead of raw terminal output
  • Lab: Running a pyATS Job
  • Working with pyATS Dq for dictionary queries
  • Using Pcall for parallel execution
  • Lab: pyATS Dq (Dictionary Query)
  • Lab: pyATS Pcall (Parallel Call)
  • Automating interface configuration changes using the pyATS framework
  • Establishing CLI connections, verifying operating systems, and pushing configuration
  • Implementing structured error handling for configuration failures
  • Lab: Configuring Devices with pyATS
  • Using pyATS Mocking and Playback features
  • Recording real device responses and converting them into offline mockup files
  • Replaying responses locally through the CLI parser and an interactive mock shell
  • Lab: Working with pyATS Mock Devices and Simulation
  • Decoupling network configuration from Python code using Jinja2 templating
  • Injecting structured variables into reusable configuration blueprints
  • Rendering and pushing tailored multi line configuration with pyATS
  • Lab: Deploying Device Configuration with Jinja2 Templates

Start Your Lab Experience

Lab Hours Booking

Reserve access to a dedicated, pre-wired lab environment and use your purchased lab hours whenever it suits you.

Flexible Lab Access
  • Direct access via browser and internet connection
  • Dedicated Catalyst Center and ISE controllers
  • Full control over single fabric site & underlay
  • Zero hardware required on your side
  • Schedule your lab session for any available date and time

Frequently Asked Questions

Basic familiarity with Python is helpful, but the course builds from the ground up, starting with CLI based pyATS commands before moving into scripting.
Both. Early modules use pyATS commands and low code Blitz testcases, while later modules have you writing and running your own Python scripts for testing and configuration.
Yes. The course includes a dedicated module on pyATS Mocking and Playback, which lets you record and replay device responses to develop and test scripts offline.
This course is built entirely around network engineering use cases: testbeds, device state validation, configuration pushes, and Infrastructure as Code patterns using Jinja2, rather than generic programming exercises.
Lab hours are booked from your account balance. See the Book Hours / Buy Hours options above for current packages and pricing.
Scroll to Top