Blog Detail
We’re excited to announce the newest addition to our growing list of Nautobot Chatops Applications, the Cisco ACI Chatops Plugin! The Cisco ACI Chatops integration makes it possible to interact with the ACI controller, the APIC
(Application Policy Infrastructure Controller), using chat commands in Slack, Mattermost, Cisco Webex, and Microsoft Teams. With this integration, network operations teams supporting Cisco ACI can use chat commands to:
- execute commands against multiple different APIC clusters in different data centers and/or regions
- register new leaf or spine switches in the fabric using chat commands
- quickly glean useful data from an APIC for informational or troubleshooting purposes
Below, we’ll review some of the features and commands in this initial release.
Multi-Fabric Support
Multi-Fabric refers to the ability to provide support for multiple APIC clusters. While there is not currently support today for the Cisco Multi-Site Orchestrator (MSO), which provides a single point of management for multiple APIC clusters, the ACI Chatops app supports configuration of as many individual APIC controllers as needed. The chat platform will prompt for the APIC to execute a command against (it’s also open source, so contributions are more than welcome!):
In addition, the selection dialogue can be avoided, if desired, simply by providing the APIC cluster name as the second argument to the chat command. For example, to execute against the APIC cluster called ntcapic
in our configuration, the command would be:
/aci get-tenants ntcapic
ntcapic
is a friendly name assigned to our APIC cluster. Under the hood it informs the Chatops app which APIC hostname and credentials to use. The details can be found in the Installation Guide.
Node Registration
In Cisco ACI, when new Leaf and Spine switches are plugged into the ACI fabric for the first time, they are discovered using LLDP (Link Layer Discovery Protocol) and show up in the APIC as unregistered nodes. An administrator must then access the APIC GUI and register the new node by assigning it a name and unique ID number. The below set of chat commands could be used by network operators to view registered and pending nodes, and then register a newly discovered node in the fabric.
Get Nodes
Displays a list of all registered nodes in the fabric.
Get Pending Nodes
Displays a list of any unregistered nodes that have been discovered.
Register Node
Register a new node in the ACI fabric.
Information Gathering
The below chat commands can be used to retrieve and display configuration and operational details from the APIC.
Display APIC Details
Don’t remember the hostname or IP addressing details of the APIC? Need to look up the serial number or model information? No problem, just run the aci get-controllers
command!
Display Tenants
Get the list of tenants from an APIC using the command aci get-tenants
.
Display Application Profiles
Get the list of Application Profiles in a specified tenant using the aci get-aps
command.
You can also specify all
for the tenant field to get a list of all Application Profiles in the fabric across all tenants.
Display Endpoint Groups (EPGs)
Get a list of all EPGs in a specified Application Profile using the aci get-epgs
command.
You can also specify all
for the Application Profile selection dialogue to see EPGs for all Application Profiles in a tenant.
How about all EPGs across all tenants? Sure, just specify all
for the Tenant dialogue…
Display Endpoint Group Details
The aci get-epg-details
chat command provides useful information about a specified EPG, consolidating information from several API calls.
Display VRFs
The aci get-vrfs
chat command displays the VRFs in use in a specified tenant.
It is also possible to display all VRFs in the fabric by selecting all
from the tenant selection dialogue.
Display Bridge Domains
The aci get-bds
command displays Bridge Domains in a specified tenant and includes useful details from several API calls, such as the configured subnet, VRF, L2 Forwarding, and L3 Routing details.
You can also get a fabric-wide view of Bridge Domains by selecting all
from the tenant selection dialogue.
Display Interface State
The aci get-interfaces
command can be used to quickly view interface state on a specified node.
You can also filter for all operational or non-operational interfaces by selecting up
or down
from the Interface State selection dialogue.
Conclusion
With the commands developed so far, our main focus was on providing the ability to glean useful operational details from an ACI fabric; but we could easily implement any task using the extensible API that Cisco ACI provides. What other chat commands for Cisco ACI would you find useful? Please feel free to hit us up in the comments or in our Public Slack channel.
-Matt
Tags :
Contact Us to Learn More
Share details about yourself & someone from our team will reach out to you ASAP!