Prerequisites for enterprise registry upgrade

If you installed the earlier version of IBM Storage Fusion by using your enterprise registry, then mirror the 2.8.x images to your enterprise registry.

  1. Update the global pull secret with the mirror registry credentials to which you want to mirror the current version images. If you want to mirror to the same enterprise registry that you used in the previous version, then skip this step.
  2. Mirror IBM Storage Fusion images. See Mirroring IBM Storage Fusion images.
  3. Mirror Backup & Restore images. See Mirroring Backup & Restore images.
  4. Mirror IBM Storage Scale images. See Mirroring IBM Storage Scale images.
  5. Data Cataloging offline upgrade:
    1. Complete steps 2 to 8 of Mirroring Data Cataloging images procedure.
    2. Update the redhat-operators catalog source.
      for catalog in $(ls oc-mirror-workspace/results-*/catalogSource* | grep -v spectrum-discover); do echo "Creating CatalogSource from file: $catalog"; echo "oc apply -f $catalog"; done
    3. If a new TARGET_PATH value is used for the upgrade, then update the existing ImageContentSourcePolicy.
      cat << EOF > imagecontentsourcepolicy_dcs.yaml
      apiVersion: operator.openshift.io/v1alpha1
      kind: ImageContentSourcePolicy
      metadata:
        name: isf-dcs-icsp
      spec:
        repositoryDigestMirrors:
          - mirrors:
              - $LOCAL_ISF_REGISTRY/cpopen
            source: icr.io/cpopen
          - mirrors:
              - $LOCAL_ISF_REGISTRY/redhat
            source: registry.redhat.io/redhat
          - mirrors:
              - $LOCAL_ISF_REGISTRY/ubi8
            source: registry.redhat.io/ubi8
          - mirrors:
              - $LOCAL_ISF_REGISTRY/amq-streams
            source: registry.redhat.io/amq-streams
          - mirrors:
              - $LOCAL_ISF_REGISTRY/openshift4
            source: registry.redhat.io/openshift4
          - mirrors:
              - $LOCAL_ISF_REGISTRY/cp/ibm-spectrum-discover
            source: cp.icr.io/cp/ibm-spectrum-discover
          - mirrors:
              - $LOCAL_ISF_REGISTRY/db2u
            source: icr.io/db2u
      EOF
      oc apply -f imagecontentsourcepolicy_dcs.yaml
  6. Fusion Data Foundation offline service upgrade:
    Offline upgrade of Data Foundation images that are deployed on OpenShift® Container Platform version 4.12, 4.13, 4.14, 4.15, or 4.16:
    1. Complete steps 1 to 9 of Mirroring Data Foundation images deployed on OpenShift Container Platform 4.14 or higher using ImageDigestMirrorSet topic.
    2. Before you upgrade IBM Storage Fusion, from the Services page of the IBM Storage Fusion user interface, disable Automatic updates for Data Foundation service.
    3. Go to Operators > Installed Operators > IBM Storage Fusion Data Foundation > Subscription, and check whether the Update approval is changed to Manually.
    4. Start the IBM Storage Fusion version upgrade.
    5. Update the image digest ID after you upgrade the IBM Storage Fusion as follows:
      1. Run the following command to get the catalog source image digest ID.
        skopeo inspect docker://<enterprise registry host:port>/<target-path>/cpopen/isf-data-foundation-catalog:<ocp version> | jq -r ".Digest"
        

        You need to record the image digest ID. It is used in deployment phase only.

      2. Check whether the data-foundation-service FusionServiceDefinition CR is created.
        oc get fusionservicedefinitions.service.isf.ibm.com -n ibm-spectrum-fusion-ns data-foundation-service
        
      3. Update the imageDigest in the FusionServiceDefinition data-foundation-service.
        skopeo inspect docker://<enterprise registry host:port>/<target-path>/cpopen/isf-data-foundation-catalog:<ocp version> | jq -r ".Digest"
        
      4. Edit the data-foundation-service .spec.onboarding.serviceOperatorSubscription.multiVersionCatSrcDetails.ocp412-t.imageDigest.
        oc edit fusionservicedefinitions.service.isf.ibm.com -n ibm-spectrum-fusion-ns data-foundation-service
        
        Example of OpenShift Container Platform 4.12 output:
        spec:
          hasRelatedDefinition: false
          onboarding:
        ...
            serviceOperatorSubscription:
              catalogSourceName: isf-data-foundation-catalog
              createCatalogSource: true
              globalCatalogSource: true
              isClusterWide: false
              multiVersionCatSrcDetails:
                ocp49:
                  skipCatSrcCreation: true
                ocp410:
                  skipCatSrcCreation: true
                ocp411:
                  skipCatSrcCreation: true
                ocp412-t:
                  displayName: Data Foundation Catalog
                  imageDigest: sha256:ed94a66296d1a4fe047b0a79db0e8653e179a8a2a646b0c05e435762d852de73
                  imageName: isf-data-foundation-catalog
                  imageTag: v4.12
                  publisher: IBM
                  registryPath: icr.io/cpopen
                  skipCatSrcCreation: false
    6. Change Update approval to the original value in the IBM Storage Fusion user interface.
  7. Modify the image content source policy isf-operator-index. For each source defined in the image content source policy, add the new mirror that points to the new registry. If you want to mirror to the same enterprise registry as the previous version, then skip this step.
    See the following sample image content source policy:
    apiVersion: operator.openshift.io/v1alpha1
    kind: ImageContentSourcePolicy
    metadata:
      name: isf-catalog-index
    spec:
      repositoryDigestMirrors:
      # for scale
      - mirrors:
        - <Old ISF enterprise registry host>/<Old ISF target-path>
        - <Old ISF enterprise registry host:port>/<Old ISF target-path>
        - <New ISF enterprise registry host>/<New ISF target-path>
        - <New ISF enterprise registry host:port>/<New ISF target-path>
        source: cp.icr.io/cp/spectrum/scale
      - mirrors:
        - <Old ISF enterprise registry host>/<Old ISF target-path>
        - <Old ISF enterprise registry host:port>/<Old ISF target-path>
        - <New ISF enterprise registry host>/<New ISF target-path>
        - <New ISF enterprise registry host:port>/<New ISF target-path>
        source: icr.io/cpopen
      #for IBM Spectrum Fusion operator 
      - mirrors:
        - <Old ISF enterprise registry host>/<Old ISF target-path>
        - <Old ISF enterprise registry host:port>/<Old ISF target-path>
        - <New ISF enterprise registry host>/<New ISF target-path>
        - <New ISF enterprise registry host:port>/<New ISF target-path>
        source: cp.icr.io/cp/isf-sds
      # for spp agent
      - mirrors:
        - <Old ISF enterprise registry host>/<Old ISF target-path>/sppc
        - <Old ISF enterprise registry host:port>/<Old ISF target-path>/sppc
        - <New ISF enterprise registry host>/<New ISF target-path>/sppc
        - <New ISF enterprise registry host:port>/<New ISF target-path>/sppc
        source: cp.icr.io/cp/sppc
      - mirrors:
        - <Old ISF enterprise registry host>/<Old ISF target-path>/sppc
        - <Old ISF enterprise registry host:port>/<Old ISF target-path>/sppc
        - <New ISF enterprise registry host>/<New ISF target-path>/sppc
        - <New ISF enterprise registry host:port>/<New ISF target-path>/sppc
        source: registry.redhat.io/amq7
      - mirrors:
        - <Old ISF enterprise registry host>/<Old ISF target-path>/sppc
        - <Old ISF enterprise registry host:port>/<Old ISF target-path>/sppc
        - <New ISF enterprise registry host>/<New ISF target-path>/sppc
        - <New ISF enterprise registry host:port>/<New ISF target-path>/sppc
        source: registry.redhat.io/oadp
      - mirrors: 
        - <New ISF enterprise registry host>/<New ISF target-path>/sppc 
        - <New ISF enterprise registry host:port>/<New ISF target-path>/sppc 
        source: registry.redhat.io/amq-streams