I recently had the opportunity to develop and deliver a three day class for the World Wide Technology Cisco ACI (Application Centric Infrastructure) Professional Services deployment engineers on automation and programmability of an ACI fabric. These engineers are experienced and senior data center networking engineers who, during their 10 weeks of training, were immersed in all aspects of ACI configuration and troubleshooting.
It might surprise you, but for this class, I did not teach the engineers Python.
The class was a series of lectures and labs that included such topics as:
Markup Language Tutorial for #netdevops, Fundamentals of REST API, Introduction to using Chrome Postman with Cisco ACI, APIC GUI / XML Lab – Exercise on saving, modifying and posting configurations via XML and GUI, Ansible Playbook - Develop a playbook to gather facts and configure the fabric via Ansible, Ansible Tower Demonstration, Creating ACI configuration templates with Jinja2, Using Ansible to automate vSphere / vCenter, Introduction to Git for Network Engineers, Using Git and Ansible Roles.
By using the Ansible ACI modules I’ve written, these engineers can automate the provisioning of an ACI fabric without the need to code. While it is helpful to understand some programming basics, the key concepts are an understanding of markup languages (YAML and XML), the fundamentals of REST, a basic knowledge of Ansible, structuring playbooks into roles and using Git for version control and sharing configuration templates across the team.
While this training was centered on ACI, a major portion of the class would apply to automation of other data center network components as well as applicability to automation of Nexus Open NX-OS.
The key takeaways from this class, from the instructors perspective, is creating the necessary Jinja templates is the most tedious and time consuming part of this automation effort. Until we have Ansible modules written to abstract each configuration task, or documentation delivered as templates and an associated YAML variable file, the library of roles being created by these engineers are invaluable to increase the speed of deployment of an ACI fabric.
While these hurdles need to be overcome, we have made real progress in abstracting the complexity of deploying data center fabrics and I am extremely pleased of how capable these engineers have become in automating the deployment of ACI fabrics for our customers.
We are attempting to integrate webdialer with a customer C# directory service. This service was previously integrated with an Avaya solution, now being migrated to Cisco.Basically, we are looking to connect to CUCM to retrieve the user device information,...
Do reports show data aggregated according to the call start time? End time? Is this configurable?Does it return the same data as the report?We are planning to do integration by directly the uccx database stored procedure sp_csq_all_fields:Is there any sec...
Hi, we have some questions regarding the reports. 1. We are looking to get various metrics from ucce aggregated for 15 or 30 minutes time range by skill:Call volume (handled + abandoned)#handled callsAverage handle timeAverage Speed Of AnswerService ...
Hi all, I've created a custom tab for Jabber that link an html web application with an input file tag. It work properly on Windows system but if I open custom tab on MAC systems when I click on browse button for select files the dialog does not appea...
Hello, We have a VXML Server application that is called by ICM when a caller is placed in a queue . The applicationplays audio ( currently in the background using fetchaudio ) and a custom Java element that connects to an external engine which determ...