Adding a vCloud Air (PAYG/Gen2) instance to vRealize Orchestrator as a vCloud Director host

vRABig thanks to Jose Luis Gomez for this solution, his response to my tweet was spot on and invaluable!

I’ve been trying to configure vCloud Air as a vCloud Director host in vRealize Orchestrator in order to create some custom resource actions for Day 2 operations in vRealize Automation. What I found was that there’s *very* little information out there on how to do this, and I ended up writing my own custom resource mapping for the virtual machines to VCAC:VirtualMachine objects – at least that way I could add my resource action. But this still didn’t expose the vCloud Director functionality for those machines. To do this I needed vCloud Air added as a vCloud Director host.

As per Jose’s advice, I duplicated the “com.vmware.library.vCloud.Host/addHost” action, named it “addHost_vCA_G2”:


I then modified the following line to include “/api/compute”:

newHost.url = "https://" + host + ":" + port;


newHost.url = "https://" + host + ":" + port + "/api/compute";

I then duplicated the “Add a connection” workflow to create “Add a connection (vCloud Air Gen2)” and swapped the old action for the new action:



Now I can add vCloud Air (PAYG/Gen2) as an endpoint in the normal way:

2016-04-19_11-10-02  2016-04-19_11-12-57

The out-of-the-box “IaaS vCD VM” Resource Mapping now works in vRA and I can create custom Resource Actions against the vCloud:VM object type.

Once again, big thanks to Jose for this solution!

#vROps Hidden Gem – Automation Action Framework

aaf-logoIn any large complex product it is often the case that there are “hidden” gems deep inside, vROps in this case is not without exception.

The Automation Action Framework (AAF) is one of these, a really powerful vROps in-built automation tool.

Now when I have discussed this capability with my peers and friends many ask why not use vRO etc? My reply is quite simple, “what if you do not have vRO or the in house skills to utilise it properly?” also “With the AAF you do -not- need any scripting knowledge or have to setup any workflows.”

Make no mistake vRO is the daddy when it comes to serious automation in your environment and the AAF has a set number of actions available to it, however vRO requires a good deal of time and effort to get up and running and working while in comparison the AAF can be setup and ready to roll in a short space of time.

So what can the AAF actually do?


What’s in my vRA7 EBS Payloads?

| 30/03/2016 | Tags: , , , , , , ,

vRAAs I discussed in my previous post, vRA7 Event Broker integration is a big change from previous version of vRA – we no longer receive the same objects that used to be passed from vCAC/vRA to vCO. Instead we receive the mysterious “payload” – a properties object.

I wanted to create a workflow that I could enable to log all of the keys, values and types of the properties object for each stage of the vRA7 MachineProvisioning workflows, and create a reference for myself on the payload for each stage.

To do this I created a new workflow “debugProperties” and added an input variable called “payload”, type Properties. Next I added a single scriptable task and cycled through the properties. Some of the properties’ values are actually other properties objects, so there’s a function to test the type and iterate through if required.

You can download the debugProperties workflow here. (more…)

vRealize Automation 7 XaaS blueprint form displays: Failed to retrieve form from provider

| 16/03/2016 | Tags: , , , ,

vRAI ran into this issue as described in VMware KB2140539 where requesting an XaaS (vRealize Orchestrator) blueprint fails with:

Failed to retrieve form from provider

The KB describes it occuring when “more than one VMware vRealize Orchestrator instance is configured for different tenants“. The issue I faced is not the same – in my case, I had the system default tenant configured to use the embedded vRO, and the customer tenant configured to use the system default (which would be the embedded vRO!)


The article itself does not give a work-around for this issue, but it’s possible to resolve it by editing the customer tenant Orchestrator Server configuration (Administration > vRO Configuration > Server Configuration) to use the external load balanced URL for the appliances (or for a PoC/small deploy with a single appliance, the appliance URL).


vRealize Automation 7 Custom Hostname with Event Broker (EB) Subscription

| 09/03/2016 | Tags: , , , , , ,

vRAThe new Event Broker service in vRA7 is one of the most exciting features of this latest release, the possibilities for extensibility are huge. At this point it time you can still use the old method of using workflow stubs to customise machine lifecycle events, but at some point in the future this will be deprecated and the Event Broker will be the only way to extend.

With this in mind, I wanted to use the Event Broker to do something that I am asked on almost every customer engagement – custom hostnames beyond what the Machine Prefixes mechanism can do.

This, as it turns out, Event Broker extensibility is not the simplest to get your head around – there is a very large (>100 page) extensibility document to parse!

For the purposes of this post, I will be using the BuildingMachine lifecycle state. This is because I want to modify the hostname before the VM is built – in much the same way as you would with the old ExternalWFStubs.BuildingMachine method.

One of the key differences between using the old WFStubs method and the new EB method is that it does not pass the same objects, there is no vCAC:Entity or vCAC:VirtualMachine – only a Properties object which holds the request properties. These include any custom properties from the blueprint. (more…)

vRealize Operations Webinar Series : 2015 :Part 1 : Building Self Healing Environments with #vROps

vROps webinar logoA series of webcasts on vRealize Operations Manager 6.x, helping you learn about anything and everything about the solution. Some of the examples include, vROps Policies, Alert Definitions, Automated Action Framework, integration to third party etc. This would include power point and live demonstrations. The session would range anywhere between 60 to 90 minutes.

With 100+ registrations and more than 70 live attendees, it was definitely a great start to this series. On popular demand of many who could not attend the session due to time-zone differences, we have recorded the session and you can watch the same right here. It is recommended that you watch the video in HD quality for a great experience.


vRealize Orchestrator REST API – "Connection pool shut down"

| 01/12/2015 | Tags: , , ,

If you use the in-built vRealize Orchestrator instance shipped with the vRealize Automation appliance then you might run into this issue when working with the REST client:

Connection pool shut down (Workflow:Get-IdentityToken / Scripting (item3)#14)


The vRA appliance version I have (6.2 – note to self, need to update lab!) includes the plugin version 1.0.4 for REST. According to the release notes, this was fixed in 1.0.5 – typical!

So the solution is to upgrade the REST API plugin 🙂

#VMworld2015: vRealize Automation 7 Briefing Notes

vmworld2015-logoI was fortunate to attend a vExpert briefing for vRA.Next, which was announced this morning to be vRealize Automation 7. The briefing was run by Jad El-Zein (@virtualjad) along with Grant Orchard (@grantorchard), Brian Graf (@vbriangraf), Kimberly Delgado (@KCDAutomate) and Jon Schulman (@vaficionado) – if that list of names doesn’t fill you with confidence for vRA.Next, then I suggest you follow them on twitter and trust me that it’s a crack team!


Missing actions in vRealize Automation

| 21/09/2015 | Tags: , , , ,

vRARecently the team I am working with came across an interesting bug/issue with actions missing from deployed VMs. We had checked and double checked the entitlements yet the actions that should be available to the end-user/customer were not listed.

Everything appeared to point to a permissions issue until one of the team members noticed something with regards to blueprints in the catalog.

Before I continue with what we observed and how we “fixed” it please bear in mind the blueprints were created programmatically. (Automating vRA IaaS Blueprint creation with vRO)