Upgrading Red Hat OpenShift Data Foundation to IBM Storage Fusion Data Foundation

Steps to upgrade Red Hat® Data Foundation to IBM Fusion Data Foundation.

Before you begin

  • Ensure that the OpenShift® Data Foundation version is the same as or lower than the planned upgrade version of Fusion Data Foundation.

    For example, if you plan to upgrade to Fusion Data Foundation 4.18.0, the OpenShift Data Foundation version must be at a level lower than 4.18.0. This compatibility check applies not only to major and minor versions but also to specific patches or fixes within the versioning. For example, if you plan to upgrade to Fusion Data Foundation 4.18.2, the OpenShift Data Foundation version can be 4.18.1, as it is lower than the planned version.

  • Ensure that the OpenShift Data Foundation cluster is healthy and data is resilient. You can get the details from IBM Fusion user interface or OpenShift Container Platform console.
  • Ensure that all OpenShift Data Foundation Pods, including the operator pods, are in Running state in the openshift-storage namespace.
  • Ensure that you have sufficient time to complete the OpenShift Data Foundation update process. The update time varies depending on the number of OSDs that run in the cluster.
  • Ensure IBM Fusion Data Foundation catalogsource exists:
    1. Verify that the isf-data-foundation-catalog catalog exists. The IBM Fusion Data Foundation catalog isf-data-foundation-catalog gets created automatically in openshift-marketplace ns.
      oc get catalogsources.operators.coreos.com -n openshift-marketplace
      Sample output:
      NAME                          DISPLAY                              TYPE   PUBLISHER   AGE
      isf-data-foundation-catalog   IBM Storage Fusion Data Foundation   grpc   IBM         66m
    2. If the isf-data-foundation-catalog catalog does not exist, create it as follows:
      1. Create a CatalogSource object that references the catalog image for isf-data-foundation-catalog.
      2. Ensure the CatalogSource object uses the correct registry image.
        For example:
        apiVersion: operators.coreos.com/v1alpha1
        kind: CatalogSource
        metadata:
          name: isf-data-foundation-catalog
          namespace: openshift-marketplace
        spec:
          displayName: isf-data-foundation-catalog
          publisher: IBM
          sourceType: grpc
          image: icr.io/cpopen/isf-data-foundation-catalog:v4.19
          updateStrategy:
            registryPoll:
              interval: 15m
      3. Create a CatalogSource using this file by running the following command:
        oc apply -f isf-data-foundation-catalogsource.yaml

Procedure

  1. Change update approval strategy to Manual.
    1. Change update approval strategy to Manual in OpenShift Data Foundation subscription
  2. Modify OpenShift Data Foundation subscription catalog source name.
    1. Update the odf-operator subscription.
      oc patch -n openshift-storage subscriptions.operators.coreos.com/odf-operator --patch '{"spec":{"source":"isf-data-foundation-catalog"}}' --type=merge
      
    2. Run the following command to get all the subscriptions under openshift-storage namespace:
      oc get subscriptions.operators.coreos.com -n openshift-storage
      Sample output:
      NAME                                                                         PACKAGE                   SOURCE             CHANNEL
      cephcsi-operator-stable-4.17-redhat-operators-openshift-marketplace          cephcsi-operator          redhat-operators   stable-4.17
      ...
      ...
    3. Update the Catalogsources for all subscriptions:
      For example:
      
      oc patch -n openshift-storage $(oc get subs -n openshift-storage -l operators.coreos.com/cephcsi-operator.openshift-storage= -o name) --patch '{"spec":{"source":"isf-data-foundation-catalog"}}' --type=merge
      
      oc patch -n openshift-storage $(oc get subs -n openshift-storage -l operators.coreos.com/ocs-operator.openshift-storage= -o name) --patch '{"spec":{"source":"isf-data-foundation-catalog"}}' --type=merge 
      
      oc patch -n openshift-storage $(oc get subs -n openshift-storage -l operators.coreos.com/mcg-operator.openshift-storage= -o name) --patch '{"spec":{"source":"isf-data-foundation-catalog"}}' --type=merge 
      
      oc patch -n openshift-storage $(oc get subs -n openshift-storage -l operators.coreos.com/odf-csi-addons-operator.openshift-storage= -o name) --patch '{"spec":{"source":"isf-data-foundation-catalog"}}' --type=merge 
  3. Verify the OpenShift Data Foundation subscription’s catalogsource name is changed.
    1. Make sure all the catalogsource name is updated.
      oc get subscriptions.operators.coreos.com -n openshift-storage
      Sample output:
      NAME                                                                         PACKAGE                   SOURCE                        CHANNEL
      mcg-operator-stable-4.17-redhat-operators-openshift-marketplace              mcg-operator              isf-data-foundation-catalog   stable-4.17
      ocs-operator-stable-4.17-redhat-operators-openshift-marketplace              ocs-operator              isf-data-foundation-catalog   stable-4.17
      odf-csi-addons-operator-stable-4.17-redhat-operators-openshift-marketplace   odf-csi-addons-operator   isf-data-foundation-catalog   stable-4.17
      odf-operator    
  4. Review the installpan and click Approve, and then wait until all the IBM Fusion Data Foundation pods are upgraded.
  5. Verify the operator status.
    1. Check the Version of Fusion Data Foundation and the operator status
      1. Go to Operators > Installed Operators and select the openshift-storage project.
      2. When the upgrade completes, the version updates to a new version number for Fusion Data Foundation and status changes to Succeeded with a green tick.
  6. Verify Fusion Data Foundation cluster is healthy and data is resilient in the IBM Fusion user interface > Data Foundation page. Alternatively, go to Storage > Data Foundation > Storage Systems tab and then click the storage system name. Check for the green tick on the status card of Overview- Block and File and Object tabs. Green tick indicates that the storage cluster, object service, and data resiliency are healthy.
  7. Verify all the CSVs under openshift-storage are Succeeded.
    oc get csv -n openshift-storage
    Sample output:
    NAME                              DISPLAY                          VERSION   REPLACES                                PHASE
    mcg-operator.v4.17             NooBaa Operator                      4.17    mcg-operator.v4.17-rhodf              Succeeded
    ocs-operator.v4.17             Container Storage                    4.17   ocs-operator.v4.17-rhodf              Succeeded
    odf-csi-addons-operator.v4.17   CSI Addons                           4.17    odf-csi-addons-operator.v4.17-rhodf   Succeeded
    odf-operator.v4.17              IBM Storage Fusion Data Foundation   4.17    odf-operator.v4.17-rhodf              Succeeded
    Note: If any of the verification steps fail, contact IBM Support.
  8. Set the update strategy approval back to Automatic to deploy the latest version as soon as its available.