Using Ansible with Cisco ONE Enterprise Cloud Suite

We live in a world of choices and so do our customers. (Ask a bunch of folks which beer they like to drink and you will realize what I am talking about ).  I have met a lot of customers who are using different orchestration agents in their environments.   After hearing about Cisco ONE Enterprise Cloud Suite , one of their common questions tends to be, can I use Cisco ONE Enterprise Cloud Suite with my (“existing”) orchestration agent?

Before I answer the question, let me give you a very brief introduction of Cisco ONE Enterprise Cloud Suite (just in case you are not already familiar with it). Cisco ONE Enterprise Cloud Suite is a complete hybrid cloud management solution by Cisco. As the name suggests, it’s a suite of products (including Cisco UCS Director, Cisco Intercloud fabric, Cisco Virtual Application Cloud Segmentation, Prime Services Catalog) that integrate well with each other and manage all aspects (security, compute, network, storage) of your hybrid cloud.

Coming back to the question “can a customer use Cisco ONE Enterprise Cloud Suite with their existing orchestration agent”?

Both UCS Director and Prime services catalog provide great GUIs to manage and orchestrate hybrid cloud.  But if you want to use your own orchestration tool, you can use any tool which can call REST APIs. Cisco ONE Enterprise Cloud Suite products expose REST APIs. I am not saying that the integration (between Cisco ONE Enterprise Cloud Suite and your orchestration tool) is available out of the box. There is definitely some work involved, but it can be done if you are familiar with your orchestration tool and how it can call REST APIs.

In this blog, I have shown how Ansible Tower can be used to deploy Virtual machines (in both private and public cloud) using Cisco ONE Enterprise Cloud Suite.  In Ansible Tower, you  can create job templates (as shown in Figure 1) to do things like “get all catalogs present in UCS director”  or “instantiate a VM  in private or public cloud” using UCS Director or Intercloud Fabric.  The user can simply select a job and launch it from Ansible Tower.

Figure 1: List of Job templates created in Ansible Tower

As seen below, the user launched “Instantiate_VM_in_private_cloud_UCSD” job from Ansible Tower and was shown the pre-populated variables. User can choose to modify or keep the same variables. Once the job is launched, UCS director received a service request to create VM.

Similarly a user can launch a job (from Ansible Tower) which wills instantiate VMs in public cloud (using Cisco Intercloud Fabric in the background).

I have uploaded the Ansible playbooks used in above examples on github. Please note, these playbooks are only to help you understand how to write an Ansible playbook to call Cisco ONE Enterprise Cloud Suite REST APIs. They are not tested/validated by Cisco.

To summarize, Cisco ONE Enterprise Cloud Suite provides great GUIs (out of the box) to manage your hybrid cloud. But if you want to continue using your “own” orchestrator with Cisco ONE Enterprise Cloud Suite, you can do so using Cisco One Enterprise Cloud Suite’s REST APIs.  The above example shows how to integrate a well-known configuration management tool called Ansible with Cisco ONE Enterprise Cloud Suite.

Hope you learned something new from this blog .