vROPs Distributed Install/Upgrade via vRSLCM API

vRSLCM is such a great tool that it lifts all the complexity of deploying vRealize suite in just few clicks. Whether you are looking for standalone deployment or a distributed one, you are shielded from all the complexity that goes behind in setting up an environment.

Recently while working on my new project, I was tasked to find out a way where all the UI operations related to vRSLCM can be automated. In my last post I listed all the API’s that are needed to perform end to end vRSLCM configuration. We need to fetch few details before starting install/upgrade of any vRealize product.

This post is extension to my last post and I will be demonstrating how to deploy/upgrade various vRealize products using vRSLCM API. The first in this list will be vROPs. So lets get started.

At this point, I assume you have already fetched details about:

  • Certificate Name/UUID (From Locker)
  • Default Password Name/UUID (From Locker)
  • License Name/UUID (From Locker)
  • Infra details (DNS, NTP, Datacenter name, cluster name etc)
  • Local Repo configured and all product install/upgrade binaries uploaded there.

Install/Upgrade are done via POST call which accepts a json payload which contains all those parameters which you pass in UI.

vROPs Deployment Procedure

Step 1: Pre-Validate Environment Creation: Before kicking environment creation task, we have to validate that the json payload which will be used for creating environment is OK and all pre-requisites (mentioned above) are in place.

Response output of above call will be a request-id. Make a note of this id as we will be using it in subsequent call.

2: Check Pre-Validation Report: Environment creation pre-validate task status can be fetched via below API. Make sure that in response output, all checks have passed.

3: Deploy vROPs: Once pre-validation is successful, environment creation can be kicked by using below API call and sample payload.

4: Environment Creation Status Check: This task typically takes some time. If you are using some kind of automation to fire these API’s, then you can poll the below GET call until you get a “status”:”COMPLETED” (or failed if any issues are encountered later during deployment).

For a successful environment creation, you will typically see output similar to as shown below:

vROPS Upgrade Procedure

1: Fetch Upgrade Repo URL: For upgrading any vRealize product via vRSLCM, upgrade binaries should be present in LCM repository. Every upgrade bundle has a unique url and it can be fetched by using below call:

Sample Output: Make a note of the url returned in response output. We need to pass this in json payload that we will use in next call.

2: Pre Upgrade Validation: Similar to new install of vROPs, we need to validate that if an already deployed vROPs environment can be upgraded or not. 

Sample Output: Make a note of the request id returned in response output.

3: Check Pre-Validate Report: Response output of pre-validate task is a very big json file which contains details of type of checks that were performed and their status. 

Trimmed version of response output

4: Trigger vROPS Upgrade: This task returns a request id in response which is used to track status of upgrade task.

5: Check Upgrade Status

And that’s it for this post. In next post of this series i will demonstrate how to install/upgrade vRLI via vRSLCM API.

I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing :)