Site icon CormacHogan.com

Workflow issues when vCenter instance not correctly added to vRO

As part of my preparation work for VMworld 2018, I was looking into how one might be able to automate the deployment of VMs from vRealize Automation 7.4 with an appropriate policy for consuming the under-lying storage. In my case, this underlying storage was vSAN 6.7 (and vSphere 6.7), so I wanted to be able to select a vSAN policy for my VM Home namespace and disks. Fortunately, there is a vRealize Orchestration (vRO) plugin to do just that called the vRA SPBM Integration plugin. But, once I had this plugin installed, and followed the instructions, I hit a snag. The workflow to set a storage policy started to fail after discovering the vcInstanceUUID with a message about being unable to find the corresponding vCenter server 6.7.

The actual error looked like this:

With some help, I started to look at the vRO inventory to see how the vCenter was added. Immediately an issue was seen with the vSphere vCenter plugin. Much of the information for vCenter was not populated (including the UUid). There was also an authorization issue reported for the SDK connection. This is why the workflow was failing.

To try to address the issue, we removed and re-added my vCenter. There are workflows to do just that in vRealize Orchestrator. Now when the add vCenter workflow was re-run, there was one configuration option that is critical to set correctly. This is on the second page of the wizard during the set connection properties, where it asks if you want to use a session per user method, or only a single connection to vCenter. You must select No here (it is set to Yes by default) to use only one connection to the vCenter.

If you do leave it as Yes, vCenter is not registered correctly, and workflows that rely on the vCenter UUid can fail. Once I set it to No and the wizard completed, I went back to recheck the plugin state and validate that the plugin details were now populated and that the error had gone in the inventory. Now the vCenter information (including UUid) was present.

With this resolved, the script ran fine. Kudos to Myles Gray and Hassan Hamade for their help with resolving this issue.

Exit mobile version