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