Upgrading Cloudera Data Services on premises cluster directly from 1.5.4 SP2 or higher to 1.5.5 SP2 using Cloudera Manager API

This task outlines the procedure for upgrading directly from version 1.5.4 SP2 or higher to 1.5.5 SP2 using the Cloudera Manager API.

To authorize the upgrade, you must use a kubeconfig file that provides access and authentication information for a user with the cluster-admin pre-provisioned ClusterRole. This file ensures the API call has the necessary permissions to modify the cluster environment. Using a configuration with insufficient privileges causes the API command to fail.

Before you begin the upgrade, verify that your environment meets the minimum software compatibility requirements:

  • Cloudera Manager version 7.13.1.700 or higher.
  • Cloudera on premises version 7.1.9 or higher.
  • Source OpenShift Container Platform version must be 4.16 or higher and must be 4.18 or lower.
  • Cloudera Data Services on premises 1.5.4 SP2 or higher.

Upgrading the Cloudera Control Plane on premises on OpenShift Container Platform Cluster

Follow these steps to upgrade by using the Cloudera Manager API.

  1. Find the Cloudera Control Plane UUID. You must fetch the details of all managed control planes to identify the UUID of your target OpenShift Container Platform cluster.
    1. Fetching Cloudera Control Plane: Run the following curl command against your Cloudera Manager server:

      curl -X -u [***username***]:[***password***] GET "https://[***CM_SERVER***]:7183/api/v57/controlPlanes" -H "accept: application/json" -k

    2. Identify UUID: From the resulting JSON output, identify the unique Cloudera Control Plane UUID associated with your OpenShift Container Platform cluster.
  2. Prepare the upgrade payload. Prepare the JSON payload for the upgradeControlPlane API call (ApiUpgradeControlPlaneArgs).
    Argument Name Data Type Description
    kubeConfig string The content of the kubeconfig file for the Kubernetes environment.
    valuesYaml string The value of the key valuesYaml from the output JSON obtained from the previous API output.

    Obtain the current value of the key valuesYaml from the output JSON obtained from https://[***CM SERVER***]:7183/api/v57/controlPlanes

    remoteRepoUrl string The URL of the cdp-private parcel repository for the upgrade.
  3. Configure the Istio Ingress default secret: In your value of the key valuesYaml obtained from the output JSON, add the IngressDefaultSecret field and set the SecretName to the required value in the format below:
    \n    IngressDefaultSecret:\n    SecretName: [***for example, router-certs-default***]\n

    The value depends on the OpenShift ingress TLS secret. You must ensure the secret is copied from the openshift-ingress namespace to the istio-ingress namespace as ingress-default-cert so the Istio gateway uses the same certificate.

  4. Upgrading OpenShift Container Platform on premises on OpenShift Container Platform. Use the prepared payload to run the upgradeControlPlane command.
    1. Replace [***UUID***] with the ID identified in Step 1.
    2. Run the following curl command:

      curl -X

      -u [***username***]:[***password***] POST

      "https://[***CM_SERVER***]:7183/api/v57/controlPlanes/[***UUID***]/commands/upgradeControlPlane" -k \

      -H "accept: application/json" \

      -H "Content-Type: application/json" \

      -d "{

      \"kubeConfig\": \"[***KUBECONFIG_CONTENT***]>\",

      \"valuesYaml\": \"[***VALUES_YAML_CONTENT***]\",

      \"remoteRepoUrl\": \"[***Target version repository url***]\"

      }"

    There will be an upgrade Cloudera Control Plane command submitted to Cloudera Manager as a result of this Curl call. Go to Recent commands in Cloudera Manager to see the progress of the command.
After the upgrade is complete, you must complete the following steps:
  1. Upgrade Cloudera AI Workbench.
  2. Upgrade OpenShift Container Platform to version 4.19.
  3. Upgrade all remaining Cloudera Data Services on premises to the latest version.