Cloud Pak for Integration

Cloud Pak for Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Using the upgrade planning tool to upgrade the Cloud Pak for Integration and its components

By Giacomo Chiarella posted Tue August 29, 2023 11:44 AM

  

Introduction

When upgrading IBM Cloud Pak for Integration, the first action I recommend users take is to generate an upgrade plan using the upgrade planning tool. This was released in June 2022, and has since received several enhancements.

The easiest way to use the tool is with the CLI, specifying the version you want to upgrade to with --to and the namespace where the Platform UI is installed with --namespace

   docker run --platform linux/amd64 --pull=always \
     -it -v ${KUBECONFIG:-~/.kube/config}:/kube/config \
     --env KUBECONFIG=/kube/config icr.io/cpopen/ibm-integration-upgrade-must-gather:v2 \
     --namespace integration \
     --to 2023.2 \
     --debug

The upgrade planning tool supports upgrades from:

  • The latest LTS release to the latest CD release
  • The previous CD release to the latest CD release

This means that for example, if your installation is currently at 2022.2 or 2022.4 you can use the upgrade tool to upgrade to 2023.2, the latest CD release. There is no need to jump through every CD release when upgrading from LTS.

You can also use podman to run the command.

Features of the tool

The tool has a set of features I'll outline below. Crucially, it gives users and customers a set of ordered steps to follow to ensure the upgrade is successful.

The upgrade order often depends on what version the user is upgrading from and to, and what they currently have installed. By running the tool, you can make sure the steps are tailored to the environment without having the scan pages of documentation to consider all the permutations.

It does not, however, do the upgrade for you - it is read-only and only generates a plan to follow. If you'd like to see the whole process automated by passing an extra flag, let us know in a comment or Aha idea. Similarly, an other features you'd like to see added, let me know.

The upgrade planning tool will currently:

  • Create an upgrade plan fast, it should take less than 20 seconds to run.
  • Give you the correct order of steps tailored to the specific environment you're logged into.
  • Update the guidance as you perform each step. Make sure you re-run the tool after completing each step.
  • Confirm the status of all the installed operators and instances, to alert the user of any Warning or Error prior to commencing the upgrade.
  • Guide you through removing integration tracing / the operations dashboard component, if moving to a release where in which it is no longer available.
  • Check that the catalog sources on the cluster have the operator versions needed for the upgrade.
  • Check that the operator and instance versions currently on your cluster can be upgraded to the target release.
    • If they can't, you'll get instructions on how to patch them to a compatible version.
  • If you have installed the Cloud Pak in A specific namespace on the cluster mode, the tool will check if you have any other namespaces with the Cloud Pak installed. You must make sure you complete all the pre-requisites there as well by running the tool against these other namespaces.
  • Tell you when to upgrade the operators, and guide you through the process.
  • Guide you through upgrade the Platform UI. This step can also help you move out of the CLI, if you prefer a UI-led experience. Once you have complete the CLI steps to the point where the Platform UI is upgraded, you can move to the Platform UI and continue the upgrade there.
  • Tell you when to upgrade all the instances, and guide you through the process. This is an example of the guidance updating once a previous step has been completed, make sure you re-run the upgrade tool after every step to get more tailored guidance.
  • Tell you when to upgrade IBM Foundational services, and guide you through the process.
  • Tell you when to upgrade OpenShift.
  • Give you a CLI command to run to perform any operator or instance upgrade that is needed, which you can copy paste and immediately use. For example, here you can see an oc patch command for the IBM MQ operator upgrade:
    ◼ (Incomplete) [ibm-mq] Subscription resource in the [openshift-operators] namespace.
        -> (Incomplete) Upgrade this operator from [2.0.14] to a version in the range of [>=2.4.0 <2.5.0] to upgrade to Cloud Pak for Integration 2023.2.
        -> (Example Command) [oc patch subscription ibm-mq -n openshift-operators --patch '{"spec":{"channel":"v2.4"}}' --type=merge]
  • Validates that you're using Automatic approval rather than Manual approval before starting the upgrade. Manual approval should be avoided, and if you want to control when and what to upgrade, use specific catalog sources for each operator instead. If you want to move to specific catalog sources, you can try out these instructions I wrote on IBM Docs.
  • Removing any component that is no longer needed.
  • Finally, the tool will highlight if there are any "optional" upgrades you can do, such as moving to the latest OCP or Foundational services versions. For example, upon upgrading from 2022.2 to 2023.2 you might find yourself on OCP 4.10 - you can then optionally upgrade to 4.12.

There are a few other quality of life features throughout the experience. From 2022.4.1 onwards, there is also a UI experience you can use. Depending on what fix pack you have, you might need to edit the PlatformNavigator custom resource to enable the Platform UI to understand how to upgrade itself and the Cloud Pak to a later version. The option can be enabled as per the instructions here.

Upgrade planning in the Platform UI
As mentioned above, any feature request please reach out to me.

Example upgrade

I will walk through the process of upgrading the Cloud Pak using the tool on the CLI, with most of the components installed. I am currently at 2022.2.1 (LTS) and will be upgrading to 2023.2.1 (the latest CD).

When I first run it against my cluster, I get the output below. There are a total of 19 ordered steps, with sub-steps inside each step.

  • I must complete the ordered steps in the printed order.
  • I can complete the sub-steps under each ordered step in any order.

At a glance I can see:

  • (Steps 1 & 2) The status of all my operators and instances are good, so I can proceed past this check.
  • (Step 3) I've got the Automatic approval strategy, so I wont have to accept any InstallPlans when upgrading operators.
  • (Step 4) Non of my instances are using integration tracing, so there is no need to remove the tracing configuration from them.
  • (Step 5) I've got integration tracing installed, so this is where my upgrade work begins!

Scroll down for the actions I take and my end to end process.

✔ 1 (Complete) - Confirming the status of all operators in this installation
  Operators should be running successfully before upgrade.
  ✔ (Complete) [datapower-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-apiconnect] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-appconnect] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-aspera-hsts-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-cloud-databases-redis] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-common-service-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-eventstreams] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-asset-repository] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-operations-dashboard] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-platform-navigator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-mq] Subscription resource in the [openshift-operators] namespace.
----------------
✔ 2 (Complete) - Confirming the status of all instances in this installation
  Instances should be running successfully before upgrade.
  ✔ (Complete) [cp4i-tracing] OperationsDashboard resource in the [tracing-ns] namespace.
  ✔ (Complete) [cp4i-navigator-pn] PlatformNavigator resource in the [navigator-ns] namespace.
  ✔ (Complete) [cp4i-ace-dashboard] Dashboard resource in the [ace-dashboard-ns] namespace.
  ✔ (Complete) [cp4i-ace-designer-designer] IntegrationServer resource in the [ace-designer-ns] namespace.
  ✔ (Complete) [cp4i-ace-designer] DesignerAuthoring resource in the [ace-designer-ns] namespace.
  ✔ (Complete) [cp4i-aspera] IbmAsperaHsts resource in the [aspera-ns] namespace.
  ✔ (Complete) [cp4i-eventstream] EventStreams resource in the [eventstreams-ns] namespace.
  ✔ (Complete) [cp4i-mq] QueueManager resource in the [mq-ns] namespace.
  ✔ (Complete) [cp4i-assetrepo] AssetRepository resource in the [navigator-ns] namespace.
  ✔ (Complete) [cp4i-apic-apic] APIConnectCluster resource in the [apic-apic-ns] namespace.
  ✔ (Complete) [cp4i-datapower] DataPowerService resource in the [datapower-ns] namespace.
----------------
✔ 3 (Complete) - Validating the update approval strategy of all operators in this installation.
  Validating that the approval strategy is set to [Automatic].
  ✔ (Complete) [datapower-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-apiconnect] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-appconnect] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-aspera-hsts-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-cloud-databases-redis] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-common-service-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-eventstreams] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-asset-repository] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-operations-dashboard] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-platform-navigator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-mq] Subscription resource in the [openshift-operators] namespace.
----------------
✔ 4 (Complete) - Removing the integration tracing configuration from instances
  Integration instances are not using tracing. No action required.
  ✔ (Complete) Component not installed
----------------
◼ 5 (Incomplete) - Uninstalling integration tracing instances
  Uninstall all integration tracing instances.
  ◼ (Incomplete) [cp4i-tracing] OperationsDashboard resource in the [tracing-ns] namespace.
    -> (Incomplete) Uninstall this integration tracing instance.
    -> (Example Command) [oc delete OperationsDashboard cp4i-tracing -n tracing-ns]
----------------
◼ 6 (Incomplete) - Uninstalling the IBM Cloud Pak for Integration Operations Dashboard operator
  Uninstall the IBM Cloud Pak for Integration Operations Dashboard operator.
  ◼ (Incomplete) [ibm-integration-operations-dashboard] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) Uninstall the IBM Cloud Pak for Integration Operations Dashboard operator.
    -> (Example Command) [oc delete subscription ibm-integration-operations-dashboard -n openshift-operators && oc delete clusterserviceversion ibm-integration-operations-dashboard.v2.6.14 -n openshift-operators]
----------------
✔ 7 (Complete) - Confirming that the catalog sources contain the required operator patches
  Patch the catalog sources if they don't contain the required operator patches. The catalog sources can be patched in any order.
  ✔ (Complete) [datapower-operator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-apiconnect] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-appconnect] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [aspera-hsts-operator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-cloud-databases-redis-operator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [opencloud-operators] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-eventstreams] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-integration-asset-repository] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-integration-platform-navigator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-mq] CatalogSource resource in the [openshift-marketplace] namespace.
----------------
✔ 8 (Complete) - Confirming that the operators are within the required patch versions
  Patch the operators with the correct patch versions to support the Cloud Pak upgrade process. Operators can be patched in any order.
  ✔ (Complete) [datapower-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-apiconnect] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-appconnect] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-aspera-hsts-operator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-eventstreams] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-asset-repository] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-platform-navigator] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-mq] Subscription resource in the [openshift-operators] namespace.
----------------
✔ 9 (Complete) - Confirming that the instances are within the required patch versions
  Patch the instances with the correct patch versions to support the Cloud Pak upgrade process. Instances can be patched in any order.
  ✔ (Complete) [cp4i-navigator-pn] PlatformNavigator resource in the [navigator-ns] namespace.
  ✔ (Complete) [cp4i-ace-dashboard] Dashboard resource in the [ace-dashboard-ns] namespace.
  ✔ (Complete) [cp4i-ace-designer] DesignerAuthoring resource in the [ace-designer-ns] namespace.
  ✔ (Complete) [cp4i-aspera] IbmAsperaHsts resource in the [aspera-ns] namespace.
  ✔ (Complete) [cp4i-eventstream] EventStreams resource in the [eventstreams-ns] namespace.
  ✔ (Complete) [cp4i-mq] QueueManager resource in the [mq-ns] namespace.
  ✔ (Complete) [cp4i-assetrepo] AssetRepository resource in the [navigator-ns] namespace.
  ✔ (Complete) [cp4i-apic-apic] APIConnectCluster resource in the [apic-apic-ns] namespace.
  ✔ (Complete) [cp4i-datapower] DataPowerService resource in the [datapower-ns] namespace.
----------------
◼ 10 (Incomplete) - Upgrade IBM Operator for Redis
  Must upgrade operators to the target version.
  ◼ (Incomplete) [ibm-cloud-databases-redis-operator] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) IBM Operator for Redis version [1.5.3] must be in range [>=1.6.6 <1.7.0]
----------------
✔ 11 (Complete) - Ensure other integration namespaces are up to date
  No other namespaces detected with integration instances installed
  ✔ (Complete) No other namespaces detected with integration instances installed
----------------
◼ 12 (Incomplete) - Confirming that the catalog sources contain the required operator upgrades
  Upgrade the catalog sources if they don't contain the required operator upgrades. The catalog sources can be upgraded in any order.
  ◼ (Incomplete) [datapower-operator] CatalogSource resource in the [openshift-marketplace] namespace.
    -> (Incomplete) Update the catalog source so that it contains the required operator range [>=1.7.0 <1.8.0] for the 2023.2 operator upgrade.
  ◼ (Incomplete) [ibm-apiconnect] CatalogSource resource in the [openshift-marketplace] namespace.
    -> (Incomplete) Update the catalog source so that it contains the required operator range [>=5.0.0 <5.1.0] for the 2023.2 operator upgrade.
  ◼ (Incomplete) [ibm-appconnect] CatalogSource resource in the [openshift-marketplace] namespace.
    -> (Incomplete) Update the catalog source so that it contains the required operator range [>=8.2.0 <9.2.0] for the 2023.2 operator upgrade.
  ✔ (Complete) [aspera-hsts-operator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-cloud-databases-redis-operator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [opencloud-operators] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-eventstreams] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-integration-asset-repository] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-integration-platform-navigator] CatalogSource resource in the [openshift-marketplace] namespace.
  ✔ (Complete) [ibm-mq] CatalogSource resource in the [openshift-marketplace] namespace.
----------------
◼ 13 (Incomplete) - Confirming that the operators are within the required upgrade versions
  Upgrade the operators with the correct upgrade versions. Operators can be upgraded in any order.
  ◼ (Incomplete) [datapower-operator and ibm-apiconnect] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) Upgrade both operators. Upgrade the [datapower-operator] operator from [1.6.9] to a version in the range of [>=1.7.0 <1.8.0], and upgrade the [ibm-apiconnect] operator from [3.4.0] to a version in the range of [>=5.0.0 <5.1.0].
    -> (Example Command) [oc patch subscription datapower-operator-v1.6-datapower-operator-openshift-marketplace -n openshift-operators --patch '{"spec":{"channel":"v1.7"}}' --type=merge && oc patch subscription ibm-apiconnect -n openshift-operators --patch '{"spec":{"channel":"v5.0"}}' --type=merge]
  ◼ (Incomplete) [ibm-appconnect] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) Upgrade this operator from [5.0.10] to a version in the range of [>=8.2.0 <9.2.0] to upgrade to Cloud Pak for Integration 2023.2.
    -> (Example Command) [oc patch subscription ibm-appconnect -n openshift-operators --patch '{"spec":{"channel":"v9.1"}}' --type=merge]
  ◼ (Incomplete) [ibm-aspera-hsts-operator] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) Upgrade this operator from [1.5.7] to a version in the range of [>=1.5.8 <1.6.0] to upgrade to Cloud Pak for Integration 2023.2.
    -> (Example Command) [oc patch subscription aspera-hsts-operator -n openshift-operators --patch '{"spec":{"channel":"v1.5"}}' --type=merge]
  ✔ (Complete) [ibm-eventstreams] Subscription resource in the [openshift-operators] namespace.
  ✔ (Complete) [ibm-integration-asset-repository] Subscription resource in the [openshift-operators] namespace.
  ◼ (Incomplete) [ibm-integration-platform-navigator] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) Upgrade this operator from [6.0.13] to a version in the range of [>=7.1.0 <7.2.0] to upgrade to Cloud Pak for Integration 2023.2.
    -> (Example Command) [oc patch subscription ibm-integration-platform-navigator -n openshift-operators --patch '{"spec":{"channel":"v7.1"}}' --type=merge]
  ◼ (Incomplete) [ibm-mq] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) Upgrade this operator from [2.0.14] to a version in the range of [>=2.4.0 <2.5.0] to upgrade to Cloud Pak for Integration 2023.2.
    -> (Example Command) [oc patch subscription ibm-mq -n openshift-operators --patch '{"spec":{"channel":"v2.4"}}' --type=merge]
----------------
◼ 14 (Incomplete) - Upgrading the Platform UI instance
  Must upgrade the instance to the target version.
  ◼ (Incomplete) [cp4i-navigator-pn] PlatformNavigator resource in the [navigator-ns] namespace.
    -> (Incomplete) The Platform UI version [2022.2.1-13] must be in range [>=2023.2.1 <2023.4.1]. If the command contains [spec.license.accept] with a value of false, and you accept the license agreement, change the value to true.
----------------
◼ 15 (Incomplete) - Confirming that the instances are within the required upgrade versions
  Upgrade the instances to the correct upgrade versions. Instances can be upgraded in any order.
  ✔ (Complete) [cp4i-ace-dashboard] Dashboard resource in the [ace-dashboard-ns] namespace.
  ✔ (Complete) [cp4i-ace-designer] DesignerAuthoring resource in the [ace-designer-ns] namespace.
  ✔ (Complete) [cp4i-aspera] IbmAsperaHsts resource in the [aspera-ns] namespace.
  ✔ (Complete) [cp4i-eventstream] EventStreams resource in the [eventstreams-ns] namespace.
  ◼ (Incomplete) [cp4i-mq] QueueManager resource in the [mq-ns] namespace.
    -> (Incomplete) Upgrade this instance from [9.3.0.10-r1] to a version in the range of [>=9.3.3 <9.3.4] to upgrade to Cloud Pak for Integration 2023.2. If the command contains [spec.license.accept] with a value of false, and you accept the license agreement, change the value to true.
  ✔ (Complete) [cp4i-assetrepo] AssetRepository resource in the [navigator-ns] namespace.
  ◼ (Incomplete) [cp4i-apic-apic] APIConnectCluster resource in the [apic-apic-ns] namespace.
    -> (Incomplete) Upgrade this instance from [10.0.5.4-5472] to a version in the range of [>=10.0.6.0 <10.0.7.0] to upgrade to Cloud Pak for Integration 2023.2. If the command contains [spec.license.accept] with a value of false, and you accept the license agreement, change the value to true.
  ◼ (Incomplete) [cp4i-datapower] DataPowerService resource in the [datapower-ns] namespace.
    -> (Incomplete) Upgrade this instance from [10.5.0.7] to a version in the range of [>=10.5.1.0 <10.5.2.0] to upgrade to Cloud Pak for Integration 2023.2. If the command contains [spec.license.accept] with a value of false, and you accept the license agreement, change the value to true.
----------------
✔ 16 (Complete) - Upgrading IBM Cloud Pak foundational services
  Upgrade foundational services to a supported version.
  ✔ (Complete) [ibm-common-service-operator] Subscription resource in the [openshift-operators] namespace.
----------------
✔ 17 (Complete) - Upgrading Red Hat OpenShift
  Upgrade Red Hat OpenShift to the required version.
  ✔ (Complete) [current-ocp-version]  resource.
----------------
◼ 18 (Incomplete) - Optional - Upgrading IBM Cloud Pak foundational services
  You have the option to upgrade foundational services to the latest supported version. Complete the tasks in the generated order.
  ◼ (Incomplete) [ibm-common-service-operator] CatalogSource resource in the [openshift-operators] namespace.
    -> (Incomplete) Update the catalog source so that it contains the latest supported version [3.23.x].
  ◼ (Incomplete) [ibm-common-service-operator] Subscription resource in the [openshift-operators] namespace.
    -> (Incomplete) IBM Cloud Pak foundational services version [3.19.14] can be upgraded to [3.23.x].
    -> (Example Command) [oc patch subscription ibm-common-service-operator-v3-opencloud-operators-openshift-marketplace -n openshift-operators --patch '{"spec":{"channel":"v3.23"}}' --type=merge]
----------------
◼ 19 (Incomplete) - Optional - Upgrading OpenShift
  You have the option to upgrade OpenShift to the latest supported version.
  ◼ (Incomplete) [current-ocp-version]  resource.
    -> (Incomplete) Red Hat OpenShift version [4.10.63] can be upgraded to [4.12.x].
    -> (Example Command) [oc adm upgrade]
----------------
INFO[0049] Upgrade planning is complete. Follow the checklist above in the order provided.

  1. Step 5 is asking me to uninstall the integration tracing instance, and it gives me the useful command to perform it in square brackets. I just copy and paste that into my command line to uninstall tracing:
    oc delete OperationsDashboard cp4i-tracing -n tracing-ns
  2. Once that is done, I re-run the upgrade tool with the docker command to check my progress. Remember - always do this when completing each step. I see Step 5 is now complete, so I can move on to Step 6:
    ✔ 5 (Complete) - Uninstalling integration tracing instances
      Integration tracing instances not installed. No action required.
      ✔ (Complete) Component not installed
    ----------------
    ◼ 6 (Incomplete) - Uninstalling the IBM Cloud Pak for Integration Operations Dashboard operator
      Uninstall the IBM Cloud Pak for Integration Operations Dashboard operator.
      ◼ (Incomplete) [ibm-integration-operations-dashboard] Subscription resource in the [openshift-operators] namespace.
        -> (Incomplete) Uninstall the IBM Cloud Pak for Integration Operations Dashboard operator.
        -> (Example Command) [oc delete subscription ibm-integration-operations-dashboard -n openshift-operators && oc delete clusterserviceversion ibm-integration-operations-dashboard.v2.6.14 -n openshift-operators]
    
  3. Similarly to the previous step, I just copy and paste the example command to perform the action and uninstall the Operations Dashboard operator.
  4. Steps 7, 8 and 9 are already complete, as I set up this environment with the latest artefacts and 2022.2.1 patches already. You might find yourself having to do some patching and catalog source updates during these steps.
  5. Next is Step 10, which is to upgrade the Redis operator from 1.5.3 to a version between 1.6.6. and 1.7.0. Redis is only used by Aspera, and it currently does not have an Example command. I go into the OCP UI, open the Redis subscription, and change the channel from 1.5 to 1.6. You can also edit the channel value in the CLI.
    Redis upgrade
  6. Once that is done, I re-run the upgrade tool with the docker command and see the catalog sources need to be upgraded so that they contain the 2023.2 operators.
    • Unfortunately, this is not something we currently guide our users through, but it is being looked into as an enhancement.
    • Users just have to add the 2023.2 catalog sources following the documentation in the 2023.2 IBM docs site.
    • I follow those docs to update the App Connect, API Connect, and Data Power catalog sources, and re-run the upgrade tool to make sure the step is now complete:
      ✔ 12 (Complete) - Confirming that the catalog sources contain the required operator upgrades
        Upgrade the catalog sources if they don't contain the required operator upgrades. The catalog sources can be upgraded in any order.
        ✔ (Complete) [ibm-datapower-operator-catalog] CatalogSource resource in the [openshift-marketplace] namespace.
        ✔ (Complete) [ibm-apiconnect-catalog] CatalogSource resource in the [openshift-marketplace] namespace.
        ✔ (Complete) [appconnect-operator-catalogsource] CatalogSource resource in the [openshift-marketplace] namespace.
  7. Once that is done, I re-run the upgrade tool with the docker command to check my progress. Next up is Step 13 with operator upgrades. I do get upgrade commands which I simply copy and run. For example:
    oc patch subscription ibm-appconnect -n openshift-operators --patch '{"spec":{"channel":"v9.1"}}' --type=merge
  8.  After upgrading the operators and re-running the tool, I only now get Example command for upgrading all my instances. I can copy and paste them, accept the license, and quickly perform the upgrade - starting with the Platform UI. For example:
     ◼ (Incomplete) [cp4i-datapower] DataPowerService resource in the [datapower-ns] namespace.
        -> (Incomplete) Upgrade this instance from [10.5.0.5] to a version in the range of [>=10.5.1.0 <10.5.2.0] to upgrade to Cloud Pak for Integration 2023.2. If the command contains [spec.license.accept] with a value of false, and you accept the license agreement, change the value to true.
        -> (Example Command) [oc patch DataPowerService cp4i-datapower -n datapower-ns --type='json' --patch '[{"op": "replace", "path": "/spec/version", "value": "10.5.1.0"},{"op": "replace", "path": "/spec/license/accept", "value": false},{"op": "replace", "path": "/spec/license/license", "value": "L-NWQG-8KNQE4"}]']
  9. Once all my instances are upgraded, my upgrade is complete! My installation is now at the 2023.2.1 level. The only 2 remaining tasks are the Optional steps 18 and 19, for upgrading foundational services and OpenShift if I want the latest features for both.

Hopefully the above guide gives a good overview of how a user can use the tool to get a guided experience for upgrading the Cloud Pak. All of the steps above took me 2 hours at most. The duration would increase if I had done OCP upgrades, but the effort time would remain roughly the same.

Think about how you use the tool to achieve an upgrade for your environments. I look forward to hearing any feedback and please do not hesitate to get in touch.

5 comments
120 views

Permalink

Comments

Fri January 05, 2024 04:21 AM

Hi @Giacomo Chiarella

Thanks a lot once again for your very quick reply and the precise steps to upgrade the LTS releases.

After carefully reading the documentation once again I found that the official documentation https://www.ibm.com/docs/en/cloud-paks/cp-integration/2023.4?topic=upgrading mentions exactly that upgrading to Cloud Pak for Integration 2023.4 requires that your installation is already at version 2023.2 or 2022.2.

Kind regards
Jan

Thu January 04, 2024 12:37 PM

Hi @Jan Frederik Sorge,

A given release supports upgrade from the previous LTS, and the previous CD. 2023.4 therefore supports upgrade from 2022.2 (as 2022.2 is the previous LTS) and 2023.2 (as 2023.2 is the previous CD).

To upgrade to 2023.4 from 2022.4 you will have to upgrade to the CD release in the middle, 2022.4 -> 2023.2 -> 2023.4.

I hope that helps, and clarifies the upgrade paths that we have in the Cloud Pak.

Regards,

Giacomo

Thu January 04, 2024 12:18 PM

Hi @Giacomo Chiarella

Thank you so much for your very quick reply! It is very cool to see that generating an upgrade plan is now part of the official documentation and that you have highlighted the differentiation between the values of the namespace that needs to be provided.

Anyhow I have an additional question about upgrade from 2022.4 as only the versions 2022.2 and 2023.2 are mentioned as source versions for the upgrade and I expected that 2022.4 is the version between those two, isn't it?

Kind regards
Jan

Wed January 03, 2024 10:50 AM

Hi @Jan Frederik Sorge, for the new version the documentation is here 2023.4

There are 2 key changes:

  • The tag for the image is now v3, instead of v2
  • The namespace parameter is now the namespace where the operators are installed, not where the Platform UI is installed.

I hope that helps.

Regards,

Giacomo

Wed January 03, 2024 10:39 AM

Hi @Giacomo Chiarella

Thanks a lot for your article!

As the most recent version of CP4I 2023.4.1 has been release in December 2023 I am wondering which version of the mentioned image icr.io/cpopen/ibm-integration-upgrade-must-gather:v2 even allows to upgrade to this version as it currently fails with the error message "FATA[0009] flag --to accepts only [2023.2, 2022.4, 2022.2]"?

Thanks a lot!

Kind regards
Jan