VMware Cloud Community
Vidala
Contributor
Contributor

Run a vRO WF on vRA "Deployment" (Multi-Machine) via the Event broker

Hey Guys,

need your help with this issue:

We're building a Multi-Machine application and we need to run a certain workflow once the multi-machine is in the building state (or before the individual VMs are ready)

We also need the same thing for the disposing event (for cleaning up certain things that's related to the whole Deployment and not just a specific machine).

We can't find a way to use the event broker for a "Deployment" that contains multiple machines inside it, any help will be welcome!

Thanks.

Reply
0 Kudos
2 Replies
qc4vmware
Virtuoso
Virtuoso

That definitely sounds like it should be something easy to do but looking at the events its not obvious to me either.  I can think of a couple of things that might work.  One is to maybe launch a helper workflow during the Catalog Item Requested event that could update a property on the deployment that will effect some blocking events in the machine lifecycle?  Maybe define in the blueprint on the components a blocking event for the POST building machine event that will wait for that property to flip and let the deployment continue?  Sounds like you'd need to check the status of each component and once they are all blocked, do your deployment level environment tweaks, then let them all continue?

For the deletion maybe do something similar with the "Deployment Action" event?  Maybe just a blocking subscription there for the right event type?

Reply
0 Kudos
Hejahida82
VMware Employee
VMware Employee

Depending on what you need to do inside the event broker subscription workflows you could look at using Approval Policy event topics. An approval policy on the catalog item would run against the request and not the individual machines inside the deployment. Similiarly an approval on the destroy deployment action would run against the deployment rather than the machines inside it.

Downside of approval policy subscriptions is that the payload sent from vRA to vRO isn't the same as for machine lifecycle or provisioning events so you have to do a bit more work to retrieve the values you might need for the clean up actions for example.

Reply
0 Kudos