The challenge
Tenant changes on the ACI fabrics – VRFs, bridge domains, EPGs, contracts, L3Outs – were made by hand in the GUI. The same change could look slightly different on each fabric, reviews were hard, and small typos caused incidents.
What I did
- Built Ansible playbooks for ACI fabric and tenant configuration.
- Defined VRFs, bridge domains, EPGs, contracts and L3Outs as YAML/JSON templates kept in Git, so every change is a reviewed commit.
- Integrated the playbooks with Jenkins: pre-validation, automated deployment and post-checks for every change.
- Added Python and Bash tooling for health checks, configuration backups and port status monitoring.
Outcome
- Consistent, error-free tenant deployments across multiple ACI fabrics.
- Every change peer-reviewed in Git with a full history of who changed what and why.
- Less manual effort per change and fewer change-related incidents.