Applying the updated custom resource

An upgraded custom resource must be applied to the operator.

Procedure

  1. Run the apply command to register the custom resource upgrade to the operator.

    The following command uses the ibm_cp4a_cr_final.yaml file, but your upgraded custom resource file might be named differently.

    oc apply -f ibm_cp4a_cr_final.yaml --overwrite=true
  2. Scale the operator deployment back up.
    oc scale --replicas=<initialReplicas> deployment ibm-cp4a-operator

    The value of <initialReplicas> is the one that you noted when you scaled down to zero.

  3. Use the oc get pods command to confirm that the deployment scaled up successfully.
    oc get pods -w
    Wait for the reconcile loop to finish. All the container pods are started with the new images. If jobs are removed, the pods are eventually deleted.

    The wait time depends on how many pods that you have in your deployment.

  4. Check the Zen Service status.

    Run the following commands to make sure that the status is completed and progress is 100%.

    ZENSERVICE_CR=$(kubectl get zenService --no-headers --ignore-not-found -n $TARGET_PROJECT_NAME |awk '{print $1}')
    kubectl get zenService $ZENSERVICE_CR --no-headers --ignore-not-found -n $TARGET_PROJECT_NAME -o jsonpath='{.status.currentVersion}'
    kubectl get zenService $ZENSERVICE_CR --no-headers --ignore-not-found -n $TARGET_PROJECT_NAME -o jsonpath='{.status.zenStatus}'
    kubectl get zenService $ZENSERVICE_CR --no-headers --ignore-not-found -n $TARGET_PROJECT_NAME -o jsonpath='{.status.Progress}'

    If the currentVersion is 5.0.0, then go to the next step.

  5. Optional: You can monitor the ICP4ACluster instance details in the custom resource status fields of the components. Wait for the status Succeeded before you consider the upgrade successful. Run the following command:
    oc get ICP4ACluster <instance_name> -o=jsonpath='{.status.components.component_acronym}'

    Where the <instance_name> is the name of the CP4BA cluster. By default, the name is icp4adeploy. You can get the name by running the command following command:

    oc get ICP4ACluster

    The component_acronym can be any of the following IDs:

    ae-icp4adeploy-workspace-aae, viewone, gitgatewayService, css, adsMongo, contentDesignerRepoAPI, adsLtpaCreation, adsCredentialsService, workflow-authoring, graphql, adsRrRegistration, adsRuntimeService, ae-icp4adeploy-pbk, app-engine, contentProjectDeploymentService, contentDesignerService, adsGitService, cmis, adsParsingService, bastudio, ier, adsRestApi, adsBuildService, navigator, baw, odm, cpe, iccsap, tm, adsFront, adsRunService, prereq, adsRuntimeBaiRegistration, resource-registry, pfs, adsDownloadService, ca, baml, extshare

    You can expect a Failed message before the status changes to Pending, Installing, and then Succeeded.

Results

Use the following command to see the list of versions you now have on the cluster:

oc exec -it `oc get pod|grep ibm-cp4a-operator | awk '{print $1}'` -- cat /opt/ibm/version.txt
Tip: You can run the post-installation script on your cluster to validate the upgrade. For more information, see Validating your CP4BA production deployment.

All the URL paths to the capabilities change during an upgrade and you must update any existing bookmarks.

Note: If you changed the IBM Navigator plug-ins, you must restart the pod for the changes to show up.

What to do next

Go to and complete the steps in Completing post-upgrade tasks.