Automating Network Assurance with NetBox Labs and Cisco Catalyst Center
Solution overview
This Lab (Managing Device Data Models for Use as Automation Dynamic Inventory) has three modules that build a closed-loop network assurance solution utilizing Cisco Catalyst Center, NetBox, and Ansible.
Challenge 1: establishes the source-of-truth pipeline: Orb Agent (NetBox Labs) polls Catalyst Center every 15 minutes and forwards device/site data via gRPC to Diode, which idempotently writes it into NetBox — including custom fields like catalyst_device_id and catalyst_serial_number. The lab has you verify the agent's systemd/Docker health and confirm synced data in the NetBox UI.
Challenge 2: turns that source of truth into live automation: after discovering devices in Catalyst Center, you generate a NetBox API token, wire it into the NetBox dynamic inventory plugin, and use ansible-inventory to query devices by custom field (cf_catalyst_device_id). You then run a playbook that uses NetBox-sourced device IDs to pull live uptime from Catalyst Center first for a core switch, then an edge router, showing how inventory metadata drives targeted automation.
Challenge 3: closes the loop with operational intelligence: a playbook queries Catalyst Center's device-health API (overallHealth score, 1–10), evaluates it against a threshold, and writes the result back into NetBox as a custom field (assurance_health_status: Healthy/Degraded). This gives downstream tools live health context, not just static inventory, and the lab notes that a production version of this would be event-driven (via Ansible EDA) rather than run on demand.
Outcome: Catalyst Center → Orb Agent/Diode → NetBox keeps inventory current automatically, Ansible + NetBox dynamic inventory turns that data into actionable automation, and the health-score playbook extends NetBox from a static CMDB into a live assurance-aware source of truth.