training.sh
netops@training:~$ ./start-network-automation

Network Automation Training

from CLI habits to repeatable, tested automation workflows
learn Python foundations for network engineers
automate configs and state with Ansible
model inventory with NetBox or Nautobot
$ cat learning-path.yml

A practical learning path

Start with small, observable tasks. Build confidence by moving from read-only data collection to templating, validation, and controlled change workflows.

01 PythonSyntax, files, JSON, APIs, virtual environments.
02 GitVersion control, branches, pull requests, reviews.
03 InventoryNetBox or Nautobot as source of truth.
04 AutomateAnsible, templates, NAPALM, Nornir.
05 OperateTesting, CI, approvals, logs, runbooks.
$ ls topics/

Getting-started topics

Python for network engineers

Variables, functions, dictionaries, lists, file handling, virtual environments, and API clients.

Ansible fundamentals

Inventory, playbooks, roles, variables, idempotency, network collections, and dry-run workflows.

NetBox / Nautobot

Model devices, sites, IPAM, interfaces, tags, and use the API as the automation source of truth.

APIs and JSON

REST basics, tokens, pagination, filtering, status codes, and structured payloads.

YAML and Jinja2

Represent data clearly and render repeatable configs from templates.

Testing and validation

Use linting, pre-change validation, post-change checks, and device-state assertions.

$ ./run-labs --beginner

Lab-first modules

Each module should produce something usable: a script, a playbook, a data model, a generated config, or a validation report.

# example training workflow
python -m venv .venv
source .venv/bin/activate
pip install requests pyyaml jinja2

python scripts/get_devices.py --site london
python scripts/render_config.py --device r1
ansible-playbook validate.yml --check
$ cat first-week.md

First week plan

Day 1

Python basics, virtual environments, JSON/YAML, and command-line arguments.

Day 2

REST APIs, tokens, NetBox/Nautobot queries, and pagination.

Day 3

Jinja2 templates and config rendering from structured data.

Day 4

Ansible inventory, facts, check mode, and diff-driven workflows.

Day 5

Validation report, Git pull request, and a repeatable runbook.

takeaways.md

Automate the workflow before automating the change.

model intent · test logic · review diffs · observe results

netops@training:~$ git commit -m "first automation win"