Welcome to 2016 and my first in-depth post about the new Event Broker in vRA7. As you will see through out the coming posts I’m VERY excited by the Event Broker. The power and flexibility that it will provide can only be matched by your imagination.
Examples of this are a number of folks when they first got hands on started doing really creative things like, when a blueprint changes trigger the cloud client to export the blueprint for version control, or as you will see in a future post I created an install of app authoring agent on a pristine OS so the agent isn’t preloaded. Venture out and look at some of the great blog posts and you will see just how great this feature is going to be!
Sadly it’s not a feature that your customers (i.e. business users) will see or hear much about. You won’t get rave reviews because of how great it is… However the power it holds for you, for me, for the automation of all your infrastructure and application needs is something you will grow to love. Not to mention vRA becomes even more powerful out of the box. If you would rather watch a walk through of what I’m posting below in video format and understand more about how EB compares to the vRA 6 workflow stubs, please review this video.
First let’s get the Pre-Reqs out of the way, below you will see a link the vRA 7 package for your consumption and a spreadsheet that illustrates the step by step process for a clone/linked clone provisioning process.
- vRO Package – https://developercenter.vmware.com/samples?id=961
- There is this updated package which follows naming standards that we are adopting as we develop more content. Feel free to use this but a few screenshots will be different. All of the example workflows now live in VMware -> SDE-SET -> Common – vRealize Automation – Property Examples (formerly the workflow template)
- Spreadsheet of state changes – https://docs.google.com/spreadsheets/d/1l1dg6Elx3Z1Z8zPcKjyuUKbBiTP__yCktQ8XB7Sa6SY/edit?usp=sharing
Import the Package included above into vRO. As a result you should see the following workflows created.
Next log into vRA and let’s jump right into the configurations needed. Again what we will do from here through the rest of the post is configure vRA 7 to use the Event Broker like a simple state change stub that was available in vRA 6..
Go to Administration -> Property Dictionary
Go to Property Groups -> +New
Set the following
Name: (I’m using key state changes)
ID: Will populate automagically
Properties: Fill in the following entries with * as the Value and make them all overridable
This will pass the appropriate properties to vRO so that your workflows can utilize them like you did with the WorkFlow template and assigning the State Change workflow.
If you would like to understand more about the different events triggered and the timing of each please see the link to the spreadsheet.
Here’s an example of how your Properties should look.
Next go to Design -> Blueprints and select the blueprint you are going to use for provisioning.
Select the blueprint on your canvas, go to the Properties tab and click add on the Property Groups sub tab.
You should see the listing of the Property Group you created. Select it and click ok.
For validation purposes select the View Merged Properties to evaluate the settings. Click finish when you’re done.
Go to Administration -> Events
Go to Subscriptions -> +New
Select Machine provisioning
For this example we are going to Run on all events. This is only for the examples here, in future education sessions we’ll dive into being very selective about what gets run and when it gets run. There will be an entire post or perhaps two on that subject.
Select the EB Get Custom Properties Example
Now this is very important, DON’T FORGET TO PUBLISH… I say that in all caps because I have forgotten dozens of times already!
Go to Catalog and Request your item
Drill down to the machine and review the properties. As you can see they should be all set and ready to go.
Just for the sake of this example which we will build on in later sessions let’s change the value of the Requested from * to *__* and submit the request.
Be patient, after a few moments go back to your Orchestrator Client, expand the workflows that have run and select the first. Review the Logs to see what the state is, what the properties passed are.
Now if you click on each you will see the first 2 runs will in-fact be the same because they are Requested-Pre, Requested-Event, and Requested-Post. On the Fourth entry you will see the WaitingToBuild which if you recall we didn’t create a property for. Now notice that there are NO custom properties being passed.
Finally to illustrate the full list we jump down to the 7th run and if you review all the output in the Logs you will see a full list of the properties passed. Why???? Because at the BuildingMachine state we passed a * value which collects and passes ALL parameters.
Now that we have completed this exercise you should be feeling like you have a solution that operates much like vRA 6 did. More importantly you should be starting to see why there is so much power in this new Event Broker. In our next post we’ll do a basic install at MachineActivated. Each post will build on one another so that you get to feel more comfortable each time. If you’re anything like me by the 3rd or 4th post you will be REALLY EXCITED by the power of the Event Broker!
Thanks for viewing and don’t hesitate to hit me up with thoughts, questions, or feedback!