OpenShift Container Platform upgrade

Upgrade OpenShift® in IBM Storage Fusion HCI System. For offline upgrades of OpenShift Container Platform, follow the Red Hat® steps. However, follow the guidelines and versions that are specified in this section.

Before you begin

  • Important: If you use Global Data Platform as a storage type, then make sure that you do not upgrade OpenShift Container Platform to the following versions:
    • Do not upgrade OpenShift Container Platform to 4.13.42 or a higher version.
    • Do not upgrade OpenShift Container Platform to 4.14.25 or a higher version.
    • Do not upgrade OpenShift Container Platform to 4.15.13 or a higher version.
  • Note:
    • You must have IBM Storage Fusion HCI System 2.7.1 and OpenShift Container Platform at 4.12.
    • For 4.13, you must be on OpenShift Container Platform 4.12.
    • For 4.14, you must be on OpenShift Container Platform 4.13.
    • If you must work with Hosted Control Plane clusters or Hosted Control Plane with Fusion Data Foundation, then upgrade OpenShift Container Platform to 4.14.x after the upgrade of IBM Storage Fusion and services to 2.7.1. Otherwise, this upgrade is optional.
    • After every OpenShift Container Platform upgrade, ensure you upgrade the OpenShift virtualization operator if it is installed. For more information, see Updating OpenShift Virtualization.
  • If you are using offline, see the following Updating a cluster in a disconnected environment topics based on your version of OpenShift Container Platform:
  • Verify whether all services and OpenShift Container Platform are healthy.
  • Both high speed switches must be available, functional, and healthy.
  • Note: Review the supported and allowed upgrade path on OpenShift Container Platform upgrade graph tool. Do this to avoid the upgrade to a version that does not have any further upgrade path due to unavailability in stable channels. For more information about upgrade version details, see Red Hat Documentation.
  • Run the upgrade precheck script before you upgrade the OpenShift Container Platform. For more information about the upgrade precheck script, see Precheck script.

About this task

Important: In IBM Storage Fusion HCI System 2.7.0 and 2.7.1, the upgrade of OpenShift Container Platform to 4.14 version is not supported on Metro-DR deployment. However, this support is available from 2.7.2 onwards.
Important: When the submariner auto upgrade fails or you observe any submariner issue during OpenShift Container Platform upgrade, contact IBM Support

Procedure

  1. Run the following command to acknowledge API removals in 4.13.34 or higher and start the upgrade.
    oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.12-kube-1.26-api-removals-in-4.13":"true"}}' --type=merge
  2. Run the following command to change the channel to stable 4.13 or higher.
    oc patch clusterversion version --type merge -p '{"spec": {"channel": "stable-4.13"}}'
  3. Upgrade OpenShift Container Platform to 4.13.34 or higher.
  4. Wait for upgrade to complete.
  5. After the upgrade completes, verify whether all services and OpenShift Container Platform are in a healthy state.
  6. Run the following command to acknowledge API removals in 4.14.13 or higher and start the upgrade.
    oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.13-kube-1.27-api-removals-in-4.14":"true"}}' --type=merge
  7. Run the following command to change the channel to stable 4.14 or higher.
    Important: If you do not see a stable-4.14 option, then use the fast-4.14 channel option
    oc patch clusterversion version --type merge -p '{"spec": {"channel": "stable-4.14"}}'
  8. Upgrade OpenShift Container Platform to 4.14.13 or higher.
  9. If you see the following error during an OpenShift Container Platform upgrade to 4.14, then follow the steps mentioned in the RedHat solution to resolve the issue.
    Error while updating operator configuration: could not apply (apps/v1, Kind=DaemonSet) openshift-ovn-kubernetes/ovnkube-master: failed 
    to apply / update (apps/v1, Kind=DaemonSet) openshift-ovn-kubernetes/ovnkube-master: DaemonSet.apps "ovnkube-master" is invalid: 
    [spec.template.spec.containers[0].lifecycle.preStop: Required value: must specify a handler type, 
    spec.template.spec.containers[1].lifecycle.preStop: Required value: must specify a handler type, 
    spec.template.spec.containers[3].lifecycle.preStop: Required value: must specify a handler type]
  10. Wait for upgrade to complete.
  11. After completion of the OpenShift Container Platform upgrade, if version is lesser than 4.14.13, then bonds have an error due to a known OpenShift bug. For more information about the issue, see https://issues.redhat.com/browse/OCPBUGS-17877. Contact IBM support to carry out the workaround steps on the OpenShift Container Platform cluster nodes after upgrade.
  12. Verify whether all services and OpenShift Container Platform are healthy.
    IBM Storage Fusion HCI System user interface:
    • Go to the Services page and check the health of all services.
    • Go to Infrastructure > Overview and check the health of all nodes and switches.
    OpenShift Container Platform console:
    Go to Operators > Installed operator in IBM Storage Fusion namespace and check that the ISF operator shows in Succeed state.
    OC commands
    • Run the following command to check the ready state of the OpenShift Container Platform nodes:
      oc get nodes
    • Run the following command to check that all operators are available.
      oc get co

What to do next

For virtual machines, upgrade OpenShift Virtualization 4.13 to 4.14. For the procedure to upgrade, see OpenShift Virtualization documentation.
To avoid issues related to backup, do the following steps:
  1. Upgrade OpenShift Container Platform and Red Hat OpenShift Virtualization to 4.14 for all the virtual machines that were created with OpenShift Container Platform 4.13.
  2. Stop and start the virtual machines.