// 01 — Background
Why I Built This
When I started going deeper into network automation, I found myself jumping between concepts — Ansible here, NetBox there, Jinja2 templates somewhere else — and spending more time figuring out how it all connected than actually learning it. What I needed was a single, ordered progression that showed the full picture from start to finish.
So I built one.
This is the structured progression I wish had existed when I started. It's designed to work at any experience level — whether you're at CCNA trying to understand what automation even means, or a senior engineer who knows the CLI deeply and is looking for the bridge to intent-based operations.
// 02 — The Framework
The Automation Maturity Model
The entire lab is structured around a 7-level automation maturity model. Every lab uses OSPF configuration as the constant use case — keeping the task identical across levels so you can see exactly what changes at each layer of abstraction and why. Levels 1 through 5 are fully built out in this guide. Levels 6 and 7 are Part 2.
Baseline — commands typed by hand on each device individually.
Speed — Python/Paramiko, Netmiko, or Bash to push CLI commands. Faster but fragile, no idempotency.
Task-based automation — purpose-built IOS modules, idempotency, structured run reporting.
Separation of concerns — Jinja2 templates hold logic, inventory holds data.
Source of truth — NetBox API replaces all static YAML, zero hardcoding.
Stateful service modeling — NSO maintains relationship between intent and device config, supports drift detection and atomic rollback.
YANG data models define desired state abstractly. The orchestrator translates intent into vendor-specific config across any platform.
// 03 — Lab Contents
What's Inside
13 labs across 5 automation levels. Every lab includes complete working code, step-by-step instructions, expected output, and troubleshooting notes from errors encountered during actual lab builds.
Lab 01
Manual CLI OSPF Configuration
Level 1Lab 02
Ad-hoc Python/Paramiko Scripts
Level 2Lab 03
Ansible Playbooks (Task-Based)
Level 3Lab 04
Ansible + Jinja2 Templates
Level 4Lab 05
Intent-Based OSPF from NetBox
Level 5Lab 06
Loopback Deployment Playbook
Level 3Lab 07
Configuration Backup Automation
Level 3Lab 08
NetBox Dynamic Inventory
Level 5Lab 09
Interface Descriptions from NetBox
Level 5Lab 10
Full Intent Model (Zero Hardcoding)
Level 5 AdvancedLab 11
Compliance Checks + Tag Enforcement
Level 5 AdvancedLab 12
CI/CD Pipeline with Git
Level 5 / Bridge to 6Lab 13
Drift Detection and Remediation
Level 5 / Bridge to 6// 04 — Environment
Lab Environment
The lab runs entirely in EVE-NG using the following node images:
| Node | Image | Role |
|---|---|---|
| R1-BRANCH, R2-HQ, R3-DC | Cisco C8000V 17.13.01 | WAN routers |
| SW-LAN1, SW-LAN2, SW-LAN3 | Catalyst 9KV 17.13.1 | LAN switches |
| Host-A, Host-B, Host-C | VPCS (built-in) | End hosts |
| AutomationBox | Ubuntu 22.04 Server | Ansible + NetBox |
The AutomationBox runs Ansible, Python, and NetBox via Docker — all deployed and configured within the guide. No external services or cloud accounts required.
// 05 — Get the Guide
Download the Full Lab Guide
The complete guide includes all 13 labs with full configuration code, Ansible playbooks, Jinja2 templates, NetBox data model setup, CI/CD pipeline scripts, drift detection playbooks, and a troubleshooting reference built from real errors encountered during the lab build.
Part 1 covers Levels 1 through 5. Part 2 — covering Cisco NSO, YANG models, and model-driven intent — is in development.
Get on Gumroad →Part 2 in development — follow on LinkedIn for updates.
Follow on LinkedIn →