One of my favorite features of vCenter Orchestrator is how easy it is to extend an existing vCO workflow and making it available directly in the vSphere Web Client. I think this is still not a very well known feature of vCO, but once you realize the capability of this feature, you will see how powerful it is to be able to provide context aware workflows in the vSphere Web Client. Another thing to be aware of is that vCO also provides full access to the underlying vSphere API, this means you can easily expose new functionality that may not exists in the vSphere Web Client.
A good example of this is a recent workflow that I created to extend some additional VSAN information directly in the vSphere Web Client. I wanted to be able to easily view the number of VSAN components for each of my ESXi hosts. Since this information is available through the vSphere API which I wrote about here, I was able to create a vCO Workflow which exposed this information and then make it available in the vSphere Web Client.
To get started, you will need to download the workflow and an updated vCenter vCO Plugin as it contains a fix for leveraging the VSAN APIs:
In the example below, I am using the vCO Appliance but the steps are very similar if you are using the Windows version.
Step 1 - Upload the o11nplugin-vsphere.dar.zip to your vCO Appliance
Step 2 - Unzip the contents by running the following command:
unzip o11nplugin-vsphere.dar.zip
Step 3 - Run the following command to set the appropriate ownership and permissions:
chmod 644 o11nplugin-vsphere.dar
chown vco:vco o11nplugin-vsphere.dar
Step 4 - Backup the original vCenter vCO Plugin by running the following command:
mv /usr/lib/vco/app-server/plugins/o11nplugin-vsphere.dar /usr/lib/vco/app-server/plugins/o11nplugin-vsphere.dar.bak
Step 5 - Copy the new plugin to the plugins directory by running the following command:
mv o11nplugin-vsphere.dar /usr/lib/vco/app-server/plugins
Step 6 - Restart the vCO Service to load the new plugin
/etc/init.d/vco-server restart
Once the vCO Server is available, you can login to the vCO Client and import the new VSAN workflow. To make the workflow available in the vSphere Web Client, you will need to login to the vSphere Web Client using an account that has access to the vCO Server and the instructions below.
Step 1 - Click on the vCO icon on the home page and then select Manage and Context Actions
Step 2 - Click on the green arrow to add a new worfklow
Step 3 - Browse for the VSAN workflow and then click on the Add button and associate the workflow with a vSphere Cluster object as seen in the screenshot below:
Once the context workflow has been added, you are now ready to run the new VSAN workflow! Right click on a VSAN enabled vSphere Cluster and under the All vCenter Orchestrator Actions, you should see our workflow:
Go ahead and run the workflow and once it completes, you can view the results by clicking on the workflow name in the Recent Tasks:
Under the Parameters section, we can see our input and output variables. In this workflow, I have created a String output called "count" which contains the name of each ESXi host in the VSAN Cluster along with the number of corresponding components.
As you can see, you can easily enhance the functionality of the vSphere Web Client by simply extending it with either out of the box or custom vCO Workflows that you have created. Happy workflowing!
Thanks for the comment!