PRJ-network-automation: Network Automation — pyATS Reports & Python Learning

1. Project Summary

Field Value

PRJ ID

PRJ-2026-NET-001

Date Created

2025-12-12

Owner

Evan Rosado

Priority

P1 (High) — Active Learning Project

Category

Network Automation / pyATS / Python

Status

Active — evolving from archive to live automation

Origin

Principia 02_Assets/ARS-NETWORK-AUTOMATION (legacy markdown)

Repository

~/atelier/_bibliotheca/Principia/02_Assets/ARS-NETWORK-AUTOMATION

Technologies

pyATS, Genie, Netmiko, Ansible, Python

2. Purpose

Build real network automation skills through hands-on Python development using pyATS as the primary framework. This project serves a dual purpose: learning to code Python by solving actual network engineering problems, and generating structured reports from network device state using pyATS parsers and testbeds.

The project deliberately prioritizes learning over task completion — every script written, every parser understood, and every report generated is a step toward engineering fluency in network programmability.

3. Scope

3.1. In Scope

  • pyATS & Genie — testbed definitions, parsers, learn functions, reporting

  • Python fundamentals — learned through network automation context (not abstract exercises)

  • Network state reports — automated collection and formatting of device state (interfaces, BGP, VLANs, ARP, etc.)

  • Config version control — Git-based network configuration management

  • Documentation generation — automated network documentation from device state

  • Netmiko / NAPALM — device connectivity and configuration deployment

3.2. Out of Scope

  • Production network changes at CHLA (separate PRJ-* projects)

  • Ansible tower/AWX deployment (covered by domus-automation-ops)

  • ISE policy automation (covered by domus-ise-ops)

4. Current Status

Milestone State

Legacy docs (Netmiko, Ansible, Velocity templates)

Complete — migrated from Principia ARS-NETWORK-AUTOMATION

pyATS testbed definition

Not started

First pyATS parser script

Not started

pyATS report generation

Not started

Python project structure (pyproject.toml, venv)

Not started

4.1. Legacy Content

The original ARS-NETWORK-AUTOMATION archive contains two reference documents:

  • 2025-NET-001 — Network Config Version Control with Git (Netmiko, Ansible, Jinja2)

  • 2025-NET-002 — Network Documentation Generator (Velocity templates)

These are documentation-only — no executable code. The project now evolves into a live codebase.

4.2. Next Actions

  1. Set up Python project structure with pyATS dependencies

  2. Define home enterprise testbed (switches, pfSense, ISE)

  3. Write first pyATS parser script and generate a report

  4. Iterate: add parsers, build reporting, learn Python patterns

6. Metadata

Field Value

PRJ ID

PRJ-2026-NET-001

Author

Evan Rosado

Date Created

2025-12-12

Last Updated

2026-04-01

Status

Active

Next Review

2026-04-15