Moving to specific catalog sources for each operator
If you have an online installation from a previous release, and you are using the IBM Operator Catalog, follow these steps to begin using specific catalog sources for each operator. Applying individual catalog sources is the most effective way to fully control software versioning on a cluster.
Procedure
You must use the CLI for this procedure.
The following procedure moves the installation from the IBM Operator Catalog so that you can use specific catalog sources for each operator. For more details about the advantages of using specific catalog sources, see Adding catalog sources to a cluster.
Add the specific catalog sources for each operator that you need by following the instructions under "Adding specific catalog sources for each operator" in Adding catalog sources to a cluster. Doing so adds multiple catalog sources on the cluster.
To confirm that the previous step completed successfully, run:
oc get catalogsources -n openshift-marketplace
Example response:
oc get catalogsources -n openshift-marketplace NAME DISPLAY TYPE PUBLISHER AGE appconnect-operator-catalogsource ibm-appconnect-5.0.0-catalog-source grpc IBM 20s ibm-integration-platform-navigator-catalog ibm-integration-platform-navigator-1.7.1-catalog-source grpc IBM 5m31s ibm-operator-catalog IBM Operator Catalog grpc IBM 58m opencloud-operators ibm-cp-common-services-1.15.3-catalog-source grpc IBM 35d
Delete the IBM Operator Catalog source:
oc delete catalogsource ibm-operator-catalog -n openshift-marketplace
The operators that were using the catalog source now change their status to
CatalogSource not found
. This behavior is expected.Delete all
ibm-common-service-operator
pods in your cluster. Get all the pods by running:oc get pods -A | grep ibm-common-service-operator
Example response:
oc get pods -A | grep ibm-common-service-operator openshift-operators ibm-common-service-operator-858c74b844-9fn9h 1/1 Running 0 63d integration ibm-common-service-operator-8851585455-68431 1/1 Running 0 63d ibm-common-services ibm-common-service-operator-4565465554-76472 1/1 Running 0 63d
Now delete the pods:
oc delete pod <pod name 1> <pod name 2> -n <namespace>
Change the configuration of Cloud Pak foundational services so that it uses the specific catalog source rather than the IBM Operator Catalog.
Open the YAML that contains this configuration:
oc edit operandregistry common-service -n ibm-common-services
In the
spec.operators
array, change allsourceName
values fromibm-operator-catalog
toopencloud-operators
. There are between 10 and 20 fields in which to change this value. For example, this is the original array:
spec: operators: - channel: v3 installPlanApproval: Automatic . . . sourceName: ibm-operator-catalog sourceNamespace: openshift-marketplace
This is the updated array:
spec: operators: - channel: v3 installPlanApproval: Automatic . . . sourceName: opencloud-operators sourceNamespace: openshift-marketplace
Save the changes.
Change the subscriptions of each Cloud Pak for Integration operator which was using the IBM Operator Catalog so that it points at the new specific catalog source for that operator.
First, confirm which subscriptions were using that catalog. Replace
<operators-namespace>
with eitheropenshift-operators
or a specific namespace:oc get subscriptions -n <operators-namespace>
Review the values in the
SOURCE
column.NAME PACKAGE SOURCE CHANNEL ibm-appconnect ibm-appconnect ibm-operator-catalog v5.0-lts ibm-common-service-operator ibm-common-service-operator opencloud-operators v3 ibm-integration-platform-navigator ibm-integration-platform-navigator ibm-operator-catalog v6.0
Open the editor for the subscription. Replace
<subscription-name>
with the a value from theNAME
column in the previous sub-step, and<operators-namespace>
with eitheropenshift-operators
or a specific namespace:oc edit subscription <subscription-name> -n <operators-namespace>
For example:
oc edit subscription ibm-integration-platform-navigator -n openshift-operators
Change the
spec.source
value fromibm-operator-catalog
to the name of the catalog source created in step 1, for example:spec: channel: v6.0 installPlanApproval: Automatic name: ibm-integration-platform-navigator source: ibm-operator-catalog --> ibm-integration-platform-navigator-catalog sourceNamespace: openshift-marketplace startingCSV: ibm-integration-platform-navigator.v6.0.1
Save these changes. The operator installation now points at the new catalog source, and the operator status changes back from
CatalogSource not found
toSucceeded
.Repeat these sub-steps for all the Cloud Pak for Integration operators installed in the namespace.
Now that you are move to specific catalog sources, going forward, you will upgrade the operator for each capability independently by first updating the specific catalog source for that operator, and then upgrading the operator subscription. This gives you full control over when to upgrade and what to upgrade.