Upgrades APIs

Upgrades APIs

APIs for managing Upgrades

Table of Contents

1. Perform Upgrade

Perform Upgrade API is used to perform upgrades. Upgrades are sequential. So in order to upgrade to a release, your environment must be on the version before that release. Upgrades are applied on a workload domain basis. The management domain contains the core infrastructure, so you must upgrade the management domain before upgrading the other workload domains. You must upgrade all required components to keep your system in an optimum state.

Note : Performing upgrades are supported on VMware Cloud Foundation 3.5 BOM resources and above.

1.1. Steps to Perform Upgrade.

  1. Download the required bundle.

  2. Execute Get the Upgradables API to retrieve the list of upgradables (bundle and resource detail) in the system.

  3. Execute Prechecks API to perform required system level health checks.

  4. Perform upgrade and monitor the upgrade progress.

2. Domain Upgrade

2.1. Prerequisites

The following data is required:

  • Bundle ID.

  • Resource Type. Ex: DOMAIN.

  • One or more Resource upgrade specifications.

  • Each Resource upgrade specification should contain.

    • Resource ID. Ex: Domain ID.

    • Upgrade scheduled time or Upgrade now option.

The following data is optional:

  • A boolean for parallel ESXi upgrade (default is 'true')

Tip : Refer to: UpgradeSpec and ResourceUpgradeSpec.

2.2. Steps

  • Invoke the API. This API returns a task which can be polled and monitored.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "bundleId" : "c47bced6-4cc9-4748-9e5a-8bd20a7d1da1",
  "resourceType" : "DOMAIN",
  "parallelUpgrade" : true,
  "resourceUpgradeSpecs" : [ {
    "resourceId" : "511f9891-83ed-4461-9e88-852b70252995",
    "scheduledTimestamp" : "2022-09-28T07:27:17.987Z",
    "upgradeNow" : false,
    "enableQuickboot" : true
  } ]
}'

HTTP Request

POST /v1/upgrades HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 321
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "bundleId" : "c47bced6-4cc9-4748-9e5a-8bd20a7d1da1",
  "resourceType" : "DOMAIN",
  "parallelUpgrade" : true,
  "resourceUpgradeSpecs" : [ {
    "resourceId" : "511f9891-83ed-4461-9e88-852b70252995",
    "scheduledTimestamp" : "2022-09-28T07:27:17.987Z",
    "upgradeNow" : false,
    "enableQuickboot" : true
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/986799e4-5ed8-4c72-adc0-3ad9d85d7b54
Content-Length: 478

{
  "id" : "986799e4-5ed8-4c72-adc0-3ad9d85d7b54",
  "name" : "Upgrade DOMAIN - [acme-domain] using BUNDLE - PSC:6.7.0-13010631 VCENTER:6.7.0-13010631",
  "type" : "UPGRADE",
  "status" : "IN_PROGRESS",
  "creationTimestamp" : "2022-09-28T07:27:17.987Z",
  "resources" : [ {
    "resourceId" : "511f9891-83ed-4461-9e88-852b70252995",
    "type" : "DOMAIN"
  }, {
    "resourceId" : "c47bced6-4cc9-4748-9e5a-8bd20a7d1da1",
    "type" : "BUNDLE"
  } ],
  "isCancellable" : false
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task.

3. Cluster Upgrade

Note : For Cluster level upgrades, the Cluster ID's can be retrieved based on the Host's that are available for upgrade, Refer to: Get the Hosts and Get the Clusters API's.

3.1. Prerequisites

The following data is required:

  • Bundle ID.

  • Resource Type. Ex: CLUSTER.

  • One or more Resource upgrade specifications.

  • Each Resource upgrade specification should contain.

    • Resource ID. Ex: Cluster ID.

    • Upgrade scheduled time or Upgrade now option.

The following data is optional:

  • A boolean for parallel ESXi upgrade (default is 'true')

Tip : Refer to: UpgradeSpec and ResourceUpgradeSpec.

3.2. Steps

  • Invoke the API. This API returns a task which can be polled and monitored.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/upgrades' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "bundleId" : "c47bced6-4cc9-4748-9e5a-8bd20a7d1da1",
  "resourceType" : "CLUSTER",
  "parallelUpgrade" : true,
  "resourceUpgradeSpecs" : [ {
    "resourceId" : "6425143e-dad0-4e8e-ac7a-36cc3cc9e490",
    "scheduledTimestamp" : "2022-09-28T08:27:21.704Z",
    "upgradeNow" : false,
    "enableQuickboot" : true
  } ]
}'

HTTP Request

POST /v1/upgrades HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 322
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "bundleId" : "c47bced6-4cc9-4748-9e5a-8bd20a7d1da1",
  "resourceType" : "CLUSTER",
  "parallelUpgrade" : true,
  "resourceUpgradeSpecs" : [ {
    "resourceId" : "6425143e-dad0-4e8e-ac7a-36cc3cc9e490",
    "scheduledTimestamp" : "2022-09-28T08:27:21.704Z",
    "upgradeNow" : false,
    "enableQuickboot" : true
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /v1/tasks/986799e4-5ed8-4c72-adc0-3ad9d85d7b54
Content-Length: 456

{
  "id" : "986799e4-5ed8-4c72-adc0-3ad9d85d7b54",
  "name" : "Upgrade DOMAIN - [acme-domain] using BUNDLE - HOST:6.7.0-13006603",
  "type" : "UPGRADE",
  "status" : "IN_PROGRESS",
  "creationTimestamp" : "2022-09-28T07:27:21.704Z",
  "resources" : [ {
    "resourceId" : "511f9891-83ed-4461-9e88-852b70252995",
    "type" : "DOMAIN"
  }, {
    "resourceId" : "c47bced6-4cc9-4748-9e5a-8bd20a7d1da1",
    "type" : "BUNDLE"
  } ],
  "isCancellable" : false
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task.

Last updated 2023-04-27 11:11:39 PDT

Operations
PATCH
Commit Reschedule Upgrade
Commit/Reschedule Upgrade
GET
Get Precheck Using GET
getPrecheck
GET
Get Upgrade By Id
Get Upgrade By Id
GET
Get Upgrades
Get Upgrades
POST
Perform Prechecks Using POST
performPrechecks
POST
Perform Upgrade
Perform Upgrade