Zach Peterson

Author Archives: Zach Peterson

Using Cisco ACI as Inventory for Ansible Tower

Managing a software-defined networking (SDN) solution in Ansible can be tricky. In most use cases, Ansible communicates with each managed node individually. However, in a SDN scenario, Ansible is most likely managing policy on a controller appliance, which ultimately may make changes to thousands of network endpoints behind it.

But what about these endpoints behind that controller abstraction? Wouldn't it be best if Ansible Tower had visibility to every node, in addition to the controller? Not to run playbooks directly against those nodes, but for the following reasons:

  • Many organizations need to perform capacity planning against current and projected license usage. Ansible Tower provides license usage data, but it's not accurate if Ansible Tower only knows about the SDN controller(s).
  • Networking teams are still asked for physical node information by other IT areas, even if the focus is on a software-defined fabric. What if the best system to get that data from is Ansible Tower? You may not want a CMDB probe (for example) to communicate directly with the SDN controller, or Ansible Tower may already be home to similar data about other systems.


Inventory plugin for Cisco ACI

I wrote an Ansible inventory plugin that solves these issues Continue reading