Nautobot Chatops for Cisco ACI

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!):

APIC Selection Menu

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 Nodes

Get Pending Nodes

Displays a list of any unregistered nodes that have been discovered.

Get Pending Nodes

Register Node

Register a new node in the ACI fabric.

Register Node

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!

Get Controllers

Display Tenants

Get the list of tenants from an APIC using the command aci get-tenants.

Get Tenants

Display Application Profiles

Get the list of Application Profiles in a specified tenant using the aci get-aps command.

Get Aps

You can also specify all for the tenant field to get a list of all Application Profiles in the fabric across all tenants.

Get All Aps

Display Endpoint Groups (EPGs)

Get a list of all EPGs in a specified Application Profile using the aci get-epgs command.

Get EPGs

You can also specify all for the Application Profile selection dialogue to see EPGs for all Application Profiles in a tenant.

Get EPGs All APs

How about all EPGs across all tenants? Sure, just specify all for the Tenant dialogue…

Get EPGs All Tenants

Display Endpoint Group Details

The aci get-epg-details chat command provides useful information about a specified EPG, consolidating information from several API calls.

Get EPG Details

Display VRFs

The aci get-vrfs chat command displays the VRFs in use in a specified tenant.

Get VRFs

It is also possible to display all VRFs in the fabric by selecting all from the tenant selection dialogue.

Get VRFs All

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.

Get BDs

You can also get a fabric-wide view of Bridge Domains by selecting all from the tenant selection dialogue.

Get BDs All

Display Interface State

The aci get-interfaces command can be used to quickly view interface state on a specified node.

Get Interfaces All

You can also filter for all operational or non-operational interfaces by selecting up or down from the Interface State selection dialogue.

Get Interfaces Up
Get Interfaces Down

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



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!