ACI Ops

Tools to enhance CLI experience replacing slower ACI show commands with additional information.
WARNING: Sandbox (sandboxapicdc.cisco.com) for APIC doesn't fully work with ACI Ops, this is due to the fact that the APICs and Fabric are virtual and don't have all the API object returns relating to real equipment.
Tested in 4.0(3d), 4.1(2m), 4.2(1j), 4.2(3l) APIC
This program fully supports Python2 and will be updated to Python3 when ACI's internal platform migrates from Python2.
The entire program uses Python2 Standard Library!
No 3rd party modules to import and update!
Program can run on Windows, Mac, and Linux.
Can be ran on local computer or on APIC itself.
If on the APIC you can store the program in your home directory.
New Features!
1.) Picture showing interfaces like available in GUI with colors reflecting interface status, role, errors
2.) Show recent ports down
3.) Show all endpoints on interface
4.) Auto create span to server session
5.) Option to select EGPs to remove from interfaces
6.) Option to tag or untag EPGs added to interfaces
7.) Show all static routes
8.) Endpoint Search display physical location if endpoint resides on VPC/PC
9.) Clone access, trunk, or VPC/PC to new interfaces ::Admin state, EPGs (selection possible), Same Leaf selector
10.) Deploy Access, Trunk, or VPC/PC (EPGs, physical, AEP) in single flow
11.) Interface Description and EPG update ::CSV
12.) Show BD > EPG relationships
13.) Troubleshooting tools
Features in Development!
1.) Display every contract between EPGs (vrf contracts, Taboo, and Normal EPGs) and filters in detail; in both directions
Limitations:
Python2
Single Pod-1 deployment
Only 1u Leafs supported
Some features like log pull may not be limited to single pod or 1u leaf.
Setup
No requriments besides python 2.7 and ssh
ACI_Ops can be run on APIC or on local computer
Recommend location on APIC for ACI_Ops: home folder for user
Local computer needs to have "ssh" in cmd or bash to use tools module in ACI_Ops
If running lower than 2.7 ipaddress library will be needed
[OPTIONAL]
If you want to run ACI_Ops in a virtualenv for python2.
(linux) sudo pip install virtualenv
(windows/admin) pip install virtualenv
python -m virtualenv .
or
python -m virtualenv <path/to/virtual/location>
If python2 and python3 on same machine you may need to specify:
python2 -m virtualenv .
cd Scripts
(linux) source activate
(windows) activate
Installation
git clone https://github.com/settlej/ACI_Ops.git
cd ACI_Ops
python or python2 main_menu.py
If you want to run on APIC copy all files to the user home directory, via SCP/SFTP.
Then run: python main_menu.py
Enviroment Variables
If using running ACI_Ops on local computer, for quick login use these three variables:
1.) apic
2.) user
3.) password
apic = [ip/hostname]
Screen Shots:

Important Fault Summary

Show vlans per interface


Add EPGs to Multiple Interfaces

Remove EPGs from Multiple Interfaces

Better 'show interface status'

Find Endpoints with Additional Information

Find Endpoints even when Powered Off

Gather all logs in timeframe

Original Auther: Settlej