Last week I checked out the Spark for Developers portal and used the Spark learning lab #1 to develop an Ansible module to manage Spark rooms, members and messages from an Ansible playbook. Ansible has an existing extras module, mail, to send email from a playbook. Sending an email is a common way to notify people in a team that a playbook has been run or to request additional tasks in a workflow.
In many organizations, collaboration tools like Spark, are being used instead of email to streamline workflow and help teams improve the way they work with colleagues . In this example, I extend the APIC-EM and Ansible integration modules to include an Ansible module I wrote to create a Spark room, add members, and to send a message based on the facts gathered about the network from APIC-EM.
The sample playbook is available on GitHub. It queries APIC-EM for a list of discovered devices, creates a Spark room, adds members to the room, and sends a message to the room requesting an upgrade of several Cisco 2911 routers running a specific release of IOS. The following is a screen snapshot of the Spark room with the output of the Ansible playbook.
![Router_upgrade.PNG](/legacyfs/online/fusion/91944_Router_upgrade.PNG)
At World Wide Technology, we are demonstrating an integration of ServiceNow and Spark to manage the WWT customer proof of concepts. This illustration of Ansible, APIC-EM and Spark, is another example of how tools can be easily combined via their REST APIs to provide a more robust collaboration experience and improve network agility.