Retrieve vCenter as an SdkConnection from vCloud Director in vRealize Orchestrator

I’ve been working on some more automation lately for vCloud Director using vRealize Orchestrator. One of my use cases was to retrieve the SDK Connection scripting object for the linked vCenter Server. My starting point was an Org vDC, and from there I wanted to get the backing vCenter Server. Let’s start by getting the Provider vDC vCloud Reference object from the Org vDC scripting object (orgVDC): var providerRef = orgVDC.

vRO 7.5 Upgrade/Migration - Failed to validate the source vRealize Orchestrator database.

I’ve got a standalone vRealize Orchestrator 7.4 instance in my test environment and with the release of vRealize Orchestrator 7.5 I wanted to run through the upgrade. If you haven’t noticed already, it’s a migration to a new appliance not an in-place upgrade. This means the new vRO instance will need to connect to the existing vRO appliance and pull all of the data. When I tried doing my migration/upgrade, I got the following error message during the validation phase:

Sending VM keystrokes using vRealize Orchestrator

Last year the legendary William Lam (Virtually Ghetto) posted a handy Powershell script that can use the vSphere 6.5 API’s to send keyboard key strokes to a VM (https://www.virtuallyghetto.com/2017/09/automating-vm-keystrokes-using-the-vsphere-api-powercli.html). I recently had a need for this feature but in vRealize Orchestrator and in Javascript instead of Powershell so I’ve re-written it in Javascript. I’ve included 2 additional script blocks that you can place into Scriptable Tasks or Actions too.

VclAbstractObjectValue - Unable to serialize object

I’ve been working on some automation that will create metadata against objects in vCloud Director using vRealize Orchestrator. If you’ve ever had to do this before you’ll know how painful it can be to get your head around all of the objects/transformations you need to make before you can even set the metadata to the object. First you take the metadata value (in this case a string) and create a new VclMetadataStringValue object.

vCloud Director metrics - unable to configure metric, conflicts with existing column

Recently I spent some time configuring vCloud Director metrics and storing them in a Cassandra cluster. If you have ever stepped outside of the default metrics and tried to provide your own via a Groovy file, you may have hit the following error in the cell-management-tool.log log: Invalid column name **metric** because it conflicts with an existing column If your Groovy file contains the metric listed in the error message and you’ve only listed it once, you’re probably thinking “where on earth is this duplicate coming from?

NSX Manager upgrade reports: Insufficient disk space

Have you got an NSX Manager that’s done the rounds for the past few years and served you well? Is it time for another upgrade but you’re stuck because the disk is full and you’ve been told: Cannot continue upgrade due to errors : Insufficient disk space. Database disk usage is at 87%, but it should be less than 70%. We recommend running a database full vacuum before proceeding with upgrade.

How to restart the BMC on a Quanta server

If you’ve ever been in a situation where your Quanta BMC is misbehaving and you need to reset it, you may have noticed that the built in CLI for remote management (SMASH) is missing ipmiutil, or at least it was on my machine. To reset the BMC on a Quanta machine, SSH to the out of band IP address of the server. Once you’ve logged in, run show to list the available ‘targets’ for the SMASH CLI.

vRealize Operations Manager - Outbound REST Notification log location

A quick post today! I was trying to configure the vRealize Operations Manager Outbound REST notification plugin recently and I was having a few issues doing a POST or PUT operation against the specified endpoint. Specifically, I was getting the following message: Test was not successful: Failed to post or put to the server. I tried looking around the vROPs Logs section under Administration > Support > Logs but couldn’t find anything specific for Outbound Notification plugins.

Enumerate vRO Workflow Inputs into a JSON object

Just this week I had to create a JSON object that contained all of the workflow input parameters and their respective values. While I can’t guarantee this is the best way to do it, it definitely works. I’ve tried to keep the comments succinct so if you have any questions please ask. Code // Get all input parameters for the parent workflow var inParamsArray = workflow.rootWorkflow.inParameters; // Get all input parameters for the current workflow to search through later var paramFinder = workflow.

My humble homelab - Version 1

Like many professionals in this industry, I have a homelab. Who would need a homelab anymore with the cloud as prevalent as it is? Well, someone who specialises in private on-premises clouds and the work required to make it a hybrid cloud. And to be honest, I love it. I get to build something that is truly mine with my own constraints and requirements and still try to reach maximum usefulness for the hardware.