Home > Blogs > VMware vCenter Orchestrator Blog > Monthly Archives: June 2011

Monthly Archives: June 2011

A vCO plug-in for vCenter Update Manager example

As posted in this blog vCenter Orchestrator plug-in for vCenter Update Manager is now available.The plugin comes with a set of predefined actions and workflows that abstracts the VUM API and reduce the complexity of using it.

I will show how to implement a common usage scenario inspired from vCenter Update Manager Admin Guide.

  1. Attach an upgrade baseline to the VMs in the datacenter
  2. Scan the datacenter inventory
  3. Get the compliance state
  4. Export the compliance state to a PDF or HTML.
  5. Remediate the datacenter inventory.

Luckily for each of the actions from the list the plugin provides built-in workflows. Our complex workflow will be quite straight-forward:


The only custom logic in is the the conditional remediation step. Since remediation is potentially disruptive operation I would like to check the compliances before to continue.

The presentation of the workflow is also quite simple. Most of the basic workflows need vCenter server, Baselines and vCenter entities. Specific options for each step are given below this triple.


If you are familiar with the vCenter Update Manager you will notice that the compliance export functionality is something new for it. The plug-in enables you to generate report in pdf, html or csv format for the compliance status of the selected entities and baselines. Since vCenter Orchestrator client is not able to work with the local file system, the compliance report is stored on the server. Unless there is no other, more convenient way to access the exported report you can access it using the some javascript code:

var fr = new FileReader(file);
content = fr.readAll();

The result of the export looks as pretty as this:

I hope this will be helpful. In the next post I plan to give some details on how export and import baseline functionality leverages the support for multiple vCenter Update Manager servers in the plug-in.


Example of high level workflow with the SOAP plug-in

In this post we’re going to show an example of a high level workflow composed of simple workflows generated with the SOAP plug-in.

First of all, we need a vCO server with the SOAP plug-in installed on it. The process of installing the SOAP plug-in is quite straightforward, you just have to follow the steps described on the SOAP plug-in User Guide.

Now, the sample scenario that we want to run is the following:

  1. Discover where we are (our country) from our current public IP address.
  2. From our country, get the list of cities where we can get the weather from.
  3. Let the user to pick up a city from that list.
  4. Retrieve the current weather for that city.

The Web Services that we will use are available on this website http://www.webservicex.net/ and these are:

So, let’s see what we have to do in order to compose our scenario. We are omitting the very basic details about how to do some things since they are described on the SOAP plug-in User Guide as well.

Add the 2 new SOAP hosts, one for each WSDL file


Create 3 new workflows from the SOAP operations we are going to use

These operations are:

  • GetGeoIPContext – to get our country from our public IP address.
  • GetCitiesByCountry – to get the list of cities available for our country.
  • GetWeather – to get the weather from the city chosen by the user.


Create a new workflow that will combine the previously created workflows


The schema of that new workflow will look like this:


And the workflow defines also the following attributes:


Complete the additional scriptable tasks

To connect the different generated workflows we need to add a couple of scriptable tasks in order to adapt the output of one workflow as the input of the next one. Also we need to define a User Interaction node to allow the user to choose a city. And we may add a final scriptable tasks to filter and pretty print the result of our high level workflow.

  • Set country


  • Set cities


  • Choose a city


  • Print weather


We need also to associate the inputs and outputs from all the invoked workflows and scriptable tasks with the attributes of the main workflow, but this is a quite easy task since the names from both, attributes and workflow’s inputs/outputs are very descriptive.

Run the workflow

When we run the workflow we have no inputs to introduce:


At some point the workflow waits for a user interaction and we have to answer:



And at the end the workflow prints the selected info in the log tab:



That was just a simple example about how to compose a higher level workflow by combining a set of workflows automatically generated by the SOAP plug-in. As you can see the complex parts are not the different SOAP invocations (the generated workflows handle them) but processing and adapting the different outputs and inputs. And these parts will be more or less difficult depending on the Web Services that you have to use.

vCenter Orchestrator plug-in for vCenter Update Manager is also GA

Here's one more vCenter Orchestrator plug-in – didn't we say we are listening.

vCenter Orchestrator plug-in for vCenter Update Manager is also GA. This plug-in integrates Orchestrator's robust workflow automation platform with patch management framework provided by vCenter Update Manager. With this new plug-in, IT administrators can automate tasks such as scanning and remediation of ESX/ESXi hosts, virtual machines and appliances against established baselines. It also allows patching and upgrading ESX/ESXi hosts, as well as installation of third-party modules in ESX, to ensure compliance against the baselines. In addition to ESX/ESXi patch management, the plug-in also supports virtual machine operations such as the upgrade of VMware Tools and virtual hardware.

Here's screenshot showing the workflows available in this new vCenter Update Manager plug-in:


For more information about the vCenter Orchestrator Plug-in for vCenter Update Manager, check the following:

You will notice that we have also added a new Plug-ins tab on vCenter Orchestrator page.


vCenter Orchestrator HTTP-REST and SOAP Plug-ins Now Available

Message heard  "We don't provision our VMs and virtual applications in a vacuum…  When are you going to help me integrate the VMware Cloud stack into my current management systems and business processes?"

Message received…  loud and clear, which is why we are very excited to announce the general availability of the VMware vCenter Orchestrator HTTP-REST and SOAP plug-ins!

These new plug-ins allow organizations to easily integrate their cloud provisioning and operations use cases with systems that offer RESTful or traditional SOAP web services.

Often-times, provisioning a VM or requesting a cloud-hosted IT service is part of a larger IT process that encompasses various management systems such as service desk, change management, IP address management, CMDB, or configuration management. Thanks to the HTTP-REST and SOAP plug-ins, organizations can now easily integrate vSphere and vCloud Director into zero-touch, automated processes that leverage 3rd party-system REST or SOAP APIs.

What's more, these plug-ins provide the ability to query a URI or import a target application's WSDL directly into the vCO workflow designer client.  This enables workflows developers to browse the WSDL and create workflows from SOAP operations in just a few clicks, hiding the complexities of the underlying protocol.


To quote a field consultant who previewed the SOAP plug-in: "this will cut down my development time for 3rd party system integrations by over 70%!".  

But don't take his (or our) word for it…  Download these new plug-ins and take them for a drive today!


Delivering VMs into vCloud Director with vCO

When starting with vCloud Director the most asked question I receive is: "How can we deploy our customized VMs into the vCloud Director?". The reason is that a VM template or vApp is used for vCloud Director.

With this example I want to show how easy it is to build a VM and deliver it to the vCloud Director using vCenter Orchestrator and it´s plug-ins.

Of course, there are several methods to automate these imports:

  • clone a customized VM into a VMware template for vCD import
  • choose and transform an existing VM into a vApp

The following simple example is based on the workflows "Create simple virtual machine" and "Import VM as vApp" and a little scriptable task for MoRef (ID of the VM) translation. Both workflows are standard workflows, delivered with the vCO library and vCD plug-in.

Bildschirmfoto 2011-06-04 um 10.54.02

To keep it simple I used some static inputs (datastore, host-system etc.). In real environments I automate these too, like choosing the datastore based on free space and left space. With these static parameters the inputs are reduced to:

Bildschirmfoto 2011-06-04 um 11.01.06

In most environments there are some specific steps for the customized deployment of a virtual machine, like Altiris trigger for Windows or ssh deployment commands for Linux, but there is no deployment server in my lab 🙂

The small scriptable task in the middle is used for delivering the MoRef ID of the new VM as input for the "Import VM as vApp" workflow:

Bildschirmfoto 2011-06-04 um 11.08.50

After all inputs and attributes are defined, I start the workflow and look into the vSphere Client to check the state of the deployment:

Bildschirmfoto 2011-06-04 um 10.53.30 

Also I check my vCloud Direcor App catalog for the new vApp template:

Bildschirmfoto 2011-06-04 um 11.13.16

And finally my new VM is deployed and registered in the vCloud Director as a new vApp template in my Application catalog. For sure this is only an example to show the direction. In normal use cases there a few things more to do:

  • ensure that applications are proper installed and able to get cloned
  • define a application catalog for the right departments (HR for example)
  • setting the right users and groups

So, get your feet on the street and test it!