Upgrade deployed products using the vRealize Suite Lifecycle Manager API

You can use vRealize Suite Lifecycle Manager to upgrade any vRealize Suite product that is part of a vRealize Suite Lifecycle Manager private cloud environment. To perform the upgrade, you use the Deployed Product Operation API.

The request body to create any product upgrade requires the same input.
Input Description
productVersion Currently installed version of the product you are upgrading.
repositoryType Type of repository that the API checks for the upgrade binaries:
  • lcmRepository
  • CDROM
  • Default
repositoryUrl Path to the repository that contains the binaries for the product upgrade.
licenseRef Locker license reference value.

This property is only used when a new license is required after upgrading from vRealize Network Insight 5.x to 6.x.

The following procedure shows how to upgrade vRealize Operations Manager from version 7.6 to version 8.0. The procedure includes steps to get the environment ID for the product you want to upgrade, create a snapshot of the installed product that you can revert to if there is an upgrade failure, and create a product upgrade request.

Prerequisites

Procedure

  1. Create a snapshot of your product that you can revert to in case the upgrade request fails.
    curl -X GET \
      '$url/lcm/lcops/api/v2/environments/$environmentId/products/$productId/snapshots' \
      -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
      -H 'Content-Type: application/json' \
      -d '{
        "snapshotPrefix": "snapshot2",
        "snapshotWithMemory": true
      }' | jq "."
    The request triggers the API. The response shows the request ID.
    {
        "requestId":"a3f77209-0005-44b3-9eb5-ac1a1ba19394"
    }
  2. Assign the variable for the requestId.
    requestId = "a3f77209-0005-44b3-9eb5-ac1a1ba19394"
  3. Use the requestId to track your request.
    curl -X GET '$url /lcm/request/api/v2/requests/$requestId' -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' | jq "."
    After the request succeeds, vRealize Suite Lifecycle Manager saves the state and configuration details for the vRealize Operations Manager virtual appliance.
    ...
    },
      "outputMap": {},
      "state": "COMPLETED",
      "executionId": "59430b9d-44cc-47a1-90ec-777481edb9z9",
    ...
  4. Create the request for your product upgrade.
    curl -X POST \
      '$url/lcm/lcops/api/v2/environments/$environmentId/products/$productId/upgrade' \
      -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
      -H 'Content-Type: application/json' \
      -d '{
        "productVersion": "7.6.0",
        "repositoryType": "lcmRepository",
        "repositoryUrl": "/data/nfsPath/vrops800.pak",
        "licenseRef" : null
      }' | jq "."
    The request triggers the API. The response shows the request ID.
    {
        "requestId":"1dac194a-6e1f-4772-a97d-af300ad5086c"
    }
  5. Assign the variable for the requestId.
    requestId = "1dac194a-6e1f-4772-a97d-af300ad5086c"
  6. Use the requestId to track your request.
    curl -X GET '$url /lcm/request/api/v2/requests/$requestId' -H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' | jq "."
    The request might take some time. After it succeeds, the product is upgraded.
    ...
    },
      "outputMap": {},
      "state": "COMPLETED",
      "executionId": "61274f3c-20cc-47a1-90ec-130635edb7d1",
    ...

What to do next

If the upgrade request request fails, creating a log bundle can help to troubleshoot the problem. See How do I generate a log bundle using the vRealize Suite Lifecycle Manager API.