You must upgrade the operators in an air gapped environment before you apply your custom
resource upgrades.
Before you begin
The upgrade of Cloud Pak foundational services is supported only when the existing foundational
services instance has a version of 4.0 or higher, and is namespace-scoped in the same namespace as
the CP4BA deployment.
Restriction: The upgrade of foundational services is not supported for
23.0.2 in the following cases:
-
You have a cluster-scoped foundational services instance and want to upgrade to a
namespace-scoped instance. You probably have a cluster-scoped instance only in the following
circumstances:
-
You installed Cloud Pak for Business Automation 21.0.3 GA or up to
21.0.3-IF018, and then you upgraded incrementally to 23.0.1 (21.0.3 → 22.0.1 → 22.0.2 → 23.0.1).
-
You installed Cloud Pak for Business Automation 22.0.2 GA or
22.0.2-IF006, and then you upgraded to 23.0.1.
-
You have a cluster-scoped foundational services instance and you want to continue to use a
cluster-scoped foundational services instance in 23.0.2.
-
You have a namespace-scoped foundational services instance and you want to install CP4BA in a
different namespace.
An upcoming release is planned to support an upgrade of a CP4BA deployment that uses a
cluster-scoped foundational services instance to a namespace-scoped instance. Remember, you might
have a cluster-scoped instance if you originally installed a deployment before CP4BA 21.0.3-IF019,
or you installed your CP4BA 22.0.2 or 23.0.1 deployment from the OCP console without creating a
common-service-maps
ConfigMap. If you do have this type of deployment, it is
recommended that you wait for the new upgrade support.
About this task
If you are upgrading to an interim fix release of 23.0.2, consult the
instructions in the CP4BA interim fix readme files. Check the changes in each interim fix readme file
that might affect your upgrade.
One significant change in an interim fix might be that the version of the Cloud Pak foundational
services operator is different from the base version. An interim fix might include a new version of
Cloud Pak foundational services. Use the relevant instructions in the CP4BA interim fix readme file
to upgrade your cluster along with the steps in IBM Docs.
Procedure
-
Set up the environment variables by running the
case save
command for the new
version, and mirror the entitled registry images to trigger the operator upgrades. Make sure that
you create a new offline folder to contain the new case image.
- Download the
cert-kubernetes
repository.
- Download the 23.0.2 package by clicking
Container Application Software for Enterprises (CASE) package
5.1.0, or go to the CASE packages URL and download the package for a specific or the latest
interim fix.
wget <case_package_url>
- Extract the package.
tar -xvzf ibm-cp-automation-5.1.0.tgz
cd ibm-cp-automation/inventory
cd cp4aOperatorSdk/files/deploy/crs
tar -xvf cert-k8s-23.0.2.tar
- Set an environment variable for the cert-kubernetes/scripts
path.
cd cert-kubernetes/scripts
export cert_kubernetes_scripts="$(pwd)"
-
Log in to the target cluster from a client.
oc login https://<CLUSTERIP>:<port> -u <ADMINISTRATOR>
- Update the channel for all the CP4BA operators in the OpenShift Container Platform console
to v23.2.
- Run the following command to change the project to your CP4BA
project.
oc project <cp4ba-ns>
Replace <cp4ba-ns>
with your CP4BA project.
- Run the following command to get the existing subscriptions to make sure that you are in the
correct project.
oc get sub
- Run the following commands to update all the CP4BA operator subscriptions to
v23.2.
oc patch subscriptions.operators.coreos.com ibm-ads-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-content-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-cp4a-operator-catalog-subscription -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-cp4a-wfps-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-dpe-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-insights-engine-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-pfs-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com icp4a-foundation-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
oc patch subscriptions.operators.coreos.com ibm-odm-operator-v23.1-ibm-cp4a-operator-catalog-openshift-marketplace -p '{"spec":{"channel":"v23.2"}}' --type=merge
After you changed the channels to v23.2, all the CP4BA operators upgrade to 23.0.2,
except the CP4BA multi-pattern (ibm-cp4a-operator) operator. This is the expected behavior.
- Update the catalogs with the new version.
Note: If the IBMPAK_HOME
environment variable is
set, the downloaded CASE is located in
${IBMPAK_HOME}/.ibm-pak/data/mirror/${CASE_NAME}/${CASE_VERSION}/catalog-sources.yaml.
- Required if: If you want to change the namespace from the global catalog namespace (GCN)
to your target CP4BA namespace (
cp4ba-project
), replace
“openshift-marketplace
” with the
“<CP4BA_namespace>
” in the generated
catalog-sources.yaml file for all catalogs, except
“ibm-cert-manager-catalog
” and “ibm-licensing-catalog
”.
Replace the GCN in these catalogs to “ibm-cert-manager
” and
“ibm-licensing
”, respectively. Then, run the command in step b.
- Run the following command from the host where you mirrored the
images:
cat $HOME/.ibm-pak/data/mirror/${CASE_NAME}/${CASE_VERSION}/catalog-sources.yaml | sed 's/opencloud-operators/opencloud-operators-v4-2/g' | oc apply -f -
Wait
a few minutes for the update to complete. Before you go to the next step, check whether all the pods
are up and running.
Note: Wait for all the CP4BA operators to be upgraded to the v23.2
channel.
- Might be required: If you changed the global catalog namespace to a target CP4BA
namespace (
cp4ba-project
).
Note: After adding the CatalogSource
resources, all operators
are upgraded to 23.0.2 except ibm-cp4a-operator. The
ibm-cp4a-operator is upgraded after Cloud Pak foundational services is upgraded.
- Click .
- Click ibm-cp4a-operator, click Actions, and select
Edit Subscription.
- Update spec.sourceNamespace to your target CP4BA namespace and click
Save.
- Update the namespace to your target namespace (cp4ba-project) for all the following CP4BA
operators:
ibm-content-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
ibm-ads-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
ibm-cp4a-wfps-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
ibm-dpe-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
ibm-insights-engine-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
ibm-odm-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
ibm-pfs-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
icp4a-foundation-operator-v23.2-ibm-cp4a-operator-catalog-openshift-marketplace
- Upgrade the IBM Certificate Manager and IBM License Service operators to v4.2. Go to your
downloaded cert-kubernetes folder.
cd cert-kubernetes/scripts/cpfs/installer_scripts/cp3pt0-deployment
Note: If your current CP4BA deployment is 23.0.1 IF004 or later, you can skip this step.
- Run the following command for global catalog
namespace.
./setup_singleton.sh --enable-licensing \
-cmNs ibm-cert-manager -licensingNs ibm-licensing -c v4.2 \
--license-accept
- Run the following command for target CP4BA namespace (private
catalog).
./setup_singleton.sh --enable-licensing \
--enable-private-catalog \
-cmNs ibm-cert-manager -licensingNs ibm-licensing -c v4.2 \
--license-accept
- Upgrade Cloud Pak foundational services to v4.2. Go to your downloaded
cert-kubernetes folder.
cd cert-kubernetes/scripts/cpfs/installer_scripts/cp3pt0-deployment
Note: If your current CP4BA deployment is 23.0.1 IF004 or later, you can skip this step.
- Run the following command for global catalog namespace.
./setup_tenant.sh --operator-namespace <cp4ba-ns> -s opencloud-operators-v4-2 -c v4.2 --license-accept -v 1
- Run the following command for target CP4BA namespace (private
catalog).
./setup_tenant.sh --operator-namespace <cp4ba-ns> --license-accept -c v4.2 -s opencloud-operators-v4-2 --enable-private-catalog
- You can verify whether the operators are updated to 23.0.2 by running the
following commands.
- Run the following commands to check the version of the foundational services
operator.
oc get csv ibm-common-service-operator.v4.2.0 \
--no-headers --ignore-not-found \
-n <cs_operator_project_name> \
-o jsonpath='{.metadata.annotations.operatorVersion}'
oc get csv ibm-common-service-operator.v4.2.0 \
--no-headers --ignore-not-found \
-n <cs_operator_project_name> \
-o jsonpath='{.status.phase}'
What to do next
Go to and complete the steps in Upgrading your IBM Cloud Pak deployment.