Labs
Practice on real automation tasks — safely
Labs start with sample devices, sample configs, and sample CLI output. No EVE-NG, GNS3, CML, or physical equipment required. You can always point a lab at your own lab environment later.
Building a Device Inventory from CSV
Read a raw devices.csv file and build a clean inventory -- but not every row is usable. Validate required fields and known platform values, and separate what's usable from what needs a human to fix it.
Beginner20 minCLI Output Parsing
Take raw show ip interface brief-style CLI text and turn it into structured data you can actually reason about -- interface name, IP, status, and protocol, plus a summary of what needs attention.
Beginner20 minNetmiko-Style Fleet Health Check
Given sample show version text for several devices -- as if send_command() had already returned it -- check that each device is actually who your inventory says it is, and report which ones aren't.
Beginner20 min
Auditing a REST API Interface Report
You already have a JSON response from an interface-status API -- now find the interfaces that are down when they shouldn't be, and the ones running hot, then produce a per-device compliance verdict.
Intermediate25 minInterface Status Audit
Given interface records already pulled from multiple devices, find the ones that actually need attention -- physical-up-but-protocol-down mismatches, high error counters, and half-duplex links -- instead of eyeballing a spreadsheet.
Intermediate25 minSafe Configuration Backup Workflow
Complete a small, real workflow that writes a device's running configuration to a timestamped local backup file and verifies the write actually succeeded -- entirely offline, with an explicit, clearly-labeled note on the one thing that changes for a real device.
Intermediate20 min
Comparing Candidate and Running Configuration
Load a candidate configuration through NAPALM's real mock driver, review the real compare_config() diff before committing anything, and flag a proposed change as risky if it removes a critical operational line -- then discard it, since this lab never actually applies a change.
Advanced25 minMulti-Device Automation Workflow
Load a real Nornir inventory spanning two environments and two vendors, filter to only the staging subset, collect normalized facts and interface state through NAPALM, and produce a report -- while proving the production devices were never touched.
Advanced30 minRefactoring a Flaky Connection Script
A connection function fails intermittently, in a way you can't predict from the outside. Wrap it in a bounded retry, and replace an ad-hoc pass/fail flag with a real dataclass result and a custom exception.
Advanced25 min
A Canary Sizing Decision
Production Automation's gate always ran against a canary of one device. This lab asks the question that module never had to: for a fleet of a given size, how big should the canary actually be -- and does the gate logic still hold once you can no longer assume just one device?
Advanced20 minInvestigating a Source-of-Truth Compliance Gap
NetBox says four devices should exist. A live scan found three of them, and one is running the wrong platform. Find both gaps -- reconciling a source of truth against reality is a different question from either one alone.
Advanced25 minReviewing a Configuration Change for Risk
A branch proposes a change. Get the real diff, then write the check a reviewer would actually run first: does this change quietly remove something critical, buried in an otherwise reasonable-looking commit?
Advanced25 min
Lab safety
Every configuration-changing example clearly states whether commands are read-only, simulated, or potentially changing. Labs never use real credentials, secrets, or production IP addresses.