I’ve been looking for a decent learning resource for vRO since I started working with it and finally got some time to get through the VMware vRealize Orchestrator Cookbook by Daniel Langenhan. I spent most of my early days with vRO just trying to figure out how to do things and why some things worked in a particular way - and mostly haranguing Michael Poore for some answers :-)
This book covers getting everything setup and various decisions to be made about the design of the infrastructure pieces needed; Windows vs Appliance, which database, clustering etc.
When editing a vRealize Orchestrator workflow there’s a default option in the client which prompts you to increase the version of the workflow when you select Save and Close.
While this is intended to be a good idea, since it at least makes people think about version control in their workflows and consequently they are then able to take advantage of some of vRO’s versioning features, it contains a fundamental flaw and makes me cringe when I see someone use it…
vRA Build 6.2.2-2754020
vRO 6.0.1
Via the vRA GUI I can create Business Groups with the same names in different Tenants as follows:
Tenant1: BusGroup1, BusGroup2, BusGroup3
Tenant2: BusGroup1, BusGroup2, BusGroup3
However, creating the Business Groups with the same names in different Tenants via the vRO plugin, specifically the workflow Library / vCloud Automation Center / Administration / Business Groups / Create a Business Group, fails in the second tenant with the below error:
Querying vRO workflows using the vRO REST API is relatively straightforward task. Use the below URL with a GET request and specify a condition to search for them, e.g. to find one by it’s name use:
https://vroserver.domain.local:8281/vco/api/workflows?conditions=name=test01
You should get a response similar to the following if a workflow of that name exists:
[javascript]
{ “link”: [ { “attributes”: [ { “value”: “https://vroserver.domain.local:8281/vco/api/workflows/cb9264b1-c832-4ee3-b95a-db73f7a2fedf/", “name”: “itemHref” }, { “value”: “cb9264b1-c832-4ee3-b95a-db73f7a2fedf”, “name”: “id” }, { “value”: “Test”, “name”: “categoryName” }, { “value”: “true”, “name”: “canExecute” }, { “value”: “https://vroserver.
The original Project Onyx (also here) was a VMware Fling which intercepted calls between the C# vSphere client and vCenter and could translate things you did in the GUI client to code in your choice of languages; SOAP, C#, PowerCLI, and JavaScript. This was really useful if say a thing you needed to do was not yet covered by a PowerCLI cmdlet, or you wanted to try and make it faster by using Get-View, or you didn’t know how to code it in JavaScript for vRO.
If you have the mis good fortune to work with the vCloud / vRA Automation Center Designer, which can still be used / is required for some elements of automation within vCAC / vRA then you may experience issues even installing it.
While attempting to install the Designer client on two different management servers (Windows 2008 R2 and 2012 R2), I received the same error:
vCloud Automation Center Designer: Setup was Interrupted
There is an excellent post over at Automate-IT.today which details how to create a vRA IaaS Blueprint from vRO. Once you have used the workflow from that site to create a Blueprint it still needs to be published before it can be used as a vRA Catalog Item, added to a Service etc.
Note that even updating Christiaan Roeleveld’s code to set the property IsPublished to true, doesn’t actually publish the Blueprint.
After creating a Blueprint in vRA it is necessary to publish the Blueprint into the Catalog so that it can be consumed by the appropriate set of users. This creates a link between the two different items since the Catalog Item is part of the vRA appliance and the Blueprint can be found in the Windows appliance.
Here’s the Blueprint details from the Inventory tab of vRO, with the virtualMachineTemplateID, a.
As of vRealize Automation version 6.2.1 there are a few different approaches to automating elements of the product itself, as opposed to using it for the automation tasks it is designed to help you with. This is along the lines of configuring elements within vRA, some of which I have covered previously within this blog post series. That series focused on using the vRA plugin for vRealize Orchestrator. However, the plugin doesn’t cover everything that you might need to automate within the product.
While working in vRealize Orchestrator with an external SOAP based system I was having issues with line breaks being removed from text sent across as part of a reasonably large SOAP request containing multiple items.
Say we have the following text strings and want to pass them into the SOAP request with line breaks in-between each one:
[code language=“javascript”]
text1 = ‘This is text1’; text2 = ‘This is text2’; text3 = ‘This is text3’;