Upgrading operator subscriptions

You must upgrade the subscriptions to the new versions for all of the Cloud Pak operators by running a script before you apply your custom resource upgrades.

About this task

Starting with 21.0.3-IF007, pinned catalog sources are used to prevent automatic updates in the same channel. Pinned catalogs give you better control over future upgrades, although it does not impact the upgrade from 21.0.2 to 21.0.3. To pin the catalog sources, you must apply the 21.0.3 interim fix catalog_source.yaml, and then run the update_subscription.sh script to update the existing subscription from IBM operator catalog to the individual catalogs.

Procedure

  1. Log in to the target cluster.
    oc login https://<CLUSTERIP>:<port> -u <ADMINISTRATOR>
    oc project <project_name>

    Where <project_name> is the target namespace.

  2. Update all the operator subscriptions in the CP4BA deployment namespace and the ibm-common-services namespace by running the provided script.

    The catalog sources for the new version specify the precise version numbers that are to be used. 

    1. Download the CASE package from the latest 21.0.3 interim fix to a Linux® based machine (RHEL, CentOS, and macOS).

      For more information about downloading CASE packages, see Preparing a client to connect to the cluster. The interim fix readme files have more information if you need it, see the Cloud Pak for Business Automation interim fix download document.

    2. Use the tar command to extract the cert-kubernetes directory.
      tar -xvzf ibm-cp-automation-3.2.x.tgz
      cd ibm-cp-automation/inventory/cp4aOperatorSdk/files/deploy/crs
      tar -xvf cert-k8s-21.0.3.tar
    3. Apply the new catalog sources by running the following command:
      cd cert-kubernetes/descriptors/op-olm
      oc apply -f catalog_source.yaml

      Where the catalog_source.yaml YAML file is taken from the interim fix CASE package in the ibm-cp-automation/inventory/cp4aOperatorSdk/files/deploy/crs/cert-kubernetes/descriptors/op-olm directory.

    4. Run the following commands to update the subscriptions with the new catalogs to replace the ibm-operator-catalog:
      cd ../../scripts
      ./update_subscription.sh -n <CP4BA_namespace>

      Where <CP4BA_namespace> is the namespace that you used to install the Cloud Pak operator. If you installed the operator to "All namespaces", then use openshift-operators.

      Note: The script updates the following operator subscriptions in the ibm-common-services namespace:
      • ibm-common-service-operator
      • ibm-cert-manager-operator
      • ibm-commonui-operator
      • ibm-iam-operator
      • ibm-ingress-nginx-operator
      • ibm-licensing-operator
      • ibm-management-ingress-operator
      • ibm-mongodb-operator
      • ibm-namespace-scope-operator
      • ibm-platform-api-operator
      • ibm-zen-operator
      • operand-deployment-lifecycle-manager-app
      • ibm-crossplane-operator-app
      • ibm-crossplane-provider-kubernetes-operator-app
      • ibm-events-operator
      • ibm-bts-operator
      • cloud-native-postgresql
      • db2u-operator

      The script updates the following operator subscriptions in the <CP4BA_namespace> namespace:

      • ibm-automation-core-v1.3-ibm-operator-catalog-openshift-marketplace
      • ibm-automation-elastic-v1.3-ibm-operator-catalog-openshift-marketplace
      • ibm-automation-eventprocessing-v1.3-ibm-operator-catalog-openshift-marketplac
      • ibm-automation-flink-v1.3-ibm-operator-catalog-openshift-marketplace
      • ibm-automation-insightsengine-v1.3-ibm-operator-catalog-openshift-marketplace
      • ibm-automation-v1.3-ibm-operator-catalog-openshift-marketplace
      • ibm-common-service-operator-v3-ibm-operator-catalog-openshift-marketplace
      • ibm-cp4a-operator
      • ibm-cp4a-wfps-operator-v21.3-ibm-operator-catalog-openshift-marketplace

      Due to some network latency issues if any of the above subscriptions are not changed then run the script again. The time for all the pods to reflect this change might take up to 30 minutes to an hour.

    5. Verify that the script worked by running the following commands:
      oc get sub -n <CP4BA namespace>
      oc get sub -n <ibm-common-services>
    6. You can also verify that none of the subscriptions use the previous ibm-operator-catalog as a source.

Results

The operator subscriptions are now updated to point to the new product catalogs that use the pinned version strategy. Newer operator updates do not happen automatically, even when the subscription is set to automatic. You must follow newer upgrade instructions to trigger an upgrade.