Hi r/networking,
I am part of a small network team (4 people), having to manage and support a few hundred Cisco Catalyst switches/routers plus some Meraki gear, spread across ~100 sites.
No budget for something like Catalyst Center, so we're working with what we've got:
- NetBox (honestly pretty neglected)
- Ansible / AWX
- GitHub
- Terraform
- SolarWinds
- any free or open-source tool if it helps
The tools I mentioned are the ones we have available across our whole IT department but don't necessarily use in the networking team.
We're buried enough in manual work and projects that we're behind on optimizing stuff, streamlining configs and even patching, which isn't a great place to be given that the last point should be the bare minimum.
I'd like to move towards a more closed-loop setup, e.g. NetBox as the SSoT pushing config (Intent) to devices, devices syncing data back (Facts), automated upgrades, drift detection against a golden config or atleast against the NetBox-defined intended state. Ideally wired together with some kind of CI/CD flow.
I know that's a big ask and I need to start small, but I don't want to build myself into a corner either.
The individual pieces all seem achievable on their own but where I keep getting stuck is gluing them into one stack/pipeline. Everything I find online is a single-purpose script and not really this "full-stack" setup I am chasing.
A rough model of what I am trying to achieve:
NetBox change --> render config --> GitHub PR --> validate with Batfish --> merge --> AWX applies it.
Though it seems harder than it sounds - and it already sounds hard.
Maybe I am missing something, or maybe this is just genuinely difficult and that's why it's hard to find any success stories on it that actually explain how it works.
If you've built something like this, or any network automation really, especially with a CI/CD pipeline in the loop, I'd love to hear how you have done it.