ACI-Tools is a collection of code to push, remove and query configuration within Cisco ACI, allows speed and accuracy when deploying a Cisco ACI environment. Currently adding functions to these public playbooks to broaden the scope of configuration.
Simpler ACI tools can be found here: ACI-Simple-Tools
To do list:
- Add further fabric playbooks with time saving functions
- Expand existing playbook functions
- Look at error handling
- Investigate switch profile policy
This section describes the functions of the various playbooks:
Adds a site, schema, template, tenant, VRF, ANP, bridge domain, EPG and contracts defined within the MSO CSV files.
Adds switches for discovery, configures the static management addresses for those switches and adds to vPC protection groups. All from CSV files.
Adds tenants, VRFs, bridge-domains and EPGs using various CSV files.
Playbook which links internal bridge domains to external EPGs and interfaces which allows l2out connections to external networks.
This creates filters and contracts, combines them and then assigns to both EPGs and external EPGs for l2outs. All using CSV files.
Adds a switch profile (within Fabric Access Policies) which collates an added leaf selector (with block) and an interface selector profile. Unfortunately, it is not possible to add a switch policy via this ansible collection yet so, if required, these need to be added manually or use "default".
This playbook creates an interface policy which contains interface configuration such as Speed/Duplex, CDP, LLDP and port-channel policies. These will then be applied to interfaces as per the CSV files.
This playbook adds and combines VLAN pools, domains and AEPs using CSV files.
python3
ansible
ansible-galaxy collection install cisco.aci
ansible-galaxy collection install cisco.mso
pip install pandas*
*for excel conversion only
Add credential details to ./vars/creds.yml
Add configuration details to the csv files within ./aci-config/ or alternatively, add details to the various excel file sheets within all-aci-config.xlsx (or all-mso-config.xlsx) and use "python3 convert-aci-excel.py" or "python3 convert-mso-excel.py" to output to the CSV files required to run playbooks.
ansible-playbook aci-tenant-bd-epg.yml