VMware Cloud Community
alexnastas
Contributor
Contributor

Access variables from a vRO workflow in an event subscription workflow

Ok, the title might be difficult to get, but I'll do my best to explain it here.

I'm (very) new to vRA/vRO and not an expert in JavaScript. But I've been struggling on this for some time now and hope that you can help:

I have vRO + vRA 7.2 (single appliance) + vSphere. Now, I have the Infoblox solution (a plugin in vRO). It (infoblox) also shows as an Endpoint in vRA, so I'm able to choose Infoblox as a network type when I provision a VM.

I have created a basic blueprint that would clone a VM from a template and populate the Infoblox database with this VM.

So under the hood, what happens - is, at one point in time when the blueprint is executed, one Infoblox workflow (called "Allocate") is executed. It basically allocates an IP address for that VM and returns a bunch of output parameters. This works well.

Now, after the VM has been created, but before it boots up - I need to execute another workflow, where I do something with its IP address (previously returned by Infoblox). So I created an event subscription with the following Topic and Conditions:

Topic: com.vmware.csp.iaas.blueprint.service.machine.lifecycle.provision

Conditions: Life Cycle State Name == CloneWorkflow.InitialPowerOn && State Phase == PRE

And specified the new workflow to be executed.

Now the big question:

How do I access the IP address from "Allocate" Infoblox workflow, that has been executed at one point during the blueprint creation - in the "New Workflow" that I want to execute in Event Subscription phase ???

There might be another proper way of doing this - but as I said - I'm a beginner in vRO/vRA - I would accept all comments and critiques Smiley Happy

Thanks in advance

Tags (1)
3 Replies
alexnastas
Contributor
Contributor

No one ?

0 Kudos
AishR
VMware Employee
VMware Employee

Import the Event Broker get properties package > Browse to the vRA 7 EB Get Custom Properties example > Edit the workflow adding the parameters for IP address > add this to schema
var ipaddress = vCACVmProperties.get("VirtualMachine.Network0.Address") ;

alexnastas
Contributor
Contributor

Hi AishR,

Thanks for the answer. I hope I understood everything that you said. I will try this out !

0 Kudos