This StackStorm pack includes integration with the AOS-CX switching platform as well as workflows including third-party tools such as Ansible.
- Ubuntu 18.04
- Python 3.5+
- st2 3.2.0
- Minimum supported AOS-CX firmware version 10.05
- Enable REST on your AOS-CX device with the following commands:
switch(config)# https-server rest access-mode read-write switch(config)# https-server vrf mgmt
To install this pack use the st2 install
command
specifying Python3:
st2 pack install aoscx --python3
The aoscx.yaml.example
files is an example configuration file used by the AOS-CX Websocket port_sensor
.
This is where you define the AOS-CX device, it's credentials, and the interfaces you want to monitor.
Copy this to /opt/stackstorm/configs/aoscx.yaml
.
The pack uses REST-API to connect to the AOS-CX switch. The following format is used to specify the credentials for the device. Each credential must have a username and password that is authorized for REST-API commands:
credentials:
admin:
username: admin
password: admin
The device configuration requires the IP address of the AOS-CX device, it's credentials, and the list of interfaces to monitor. It is optional to provide PROXY information to use in connecting to the AOS-CX Websocket.
device:
ip_address: 10.100.206.188
hostname: 8320-CX-188
credentials: admin
interface:
- 1/1/1
- 1/1/23
- 1/1/14
proxy:
http: None
https: None
Actions in this pack use REST-API to connect to the AOS-CX switch as well as third-party frameworks:
- get_link_status: Get the link status of all interfaces on an AOS-CX switch with the specified IP address.
- get_aoscx_interface_tower_info: Get MAC address and IP address of a newly connected device using AOS-CX and validate device needs to be provisioned using Ansible Tower API.
Action Workflows in this pack use REST-API to connect to the AOS-CX switch as well as third-party frameworks:
- ztp_ansible_tower_workflow: A workflow that runs an Ansible Tower Job Template after retrieving device LLDP information on an AOS-CX switch.
There is one Sensor currently implemented in this pack:
- aoscx.PortSensor: Sensor that monitors the admin status of AOS-CX switch's interfaces.
This pack defines rules for handling syslog or websocket events from AOS-CX devices:
- port_sensor_rule: Using the AOS-CX Websocket PortSensor, retrieves the admin status of all interfaces on an AOS-CX switch when an interface goes down.
- ztp_ansible_tower_workflow_rule: Starts the ztp_ansible_tower_worfklow when an interface link on AOS-CX comes up via Syslog message.
At Aruba Networks we're dedicated to ensuring the quality of our products, so if you find any issues at all please open an issue on our Github and we'll be sure to respond promptly!
For more contribution opportunities follow our guidelines outlined in our CONTRIBUTING.md