Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-22196

Setting mirror.platform.architectures parameter to s390x does not filter package info in manifest list

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Normal Normal
    • None
    • 4.14.0
    • oc / oc-mirror
    • Moderate
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      We are using the oc-mirror plugin to mirror the Red Hat Advanced Cluster Security (rhacs) operator to our private mirror registry.  This is the image set configuration file we are testing with:
      
      
      apiVersion: mirror.openshift.io/v1alpha2
      storageConfig:
        registry:
          imageURL: bastion.pok-127-qemu.ocptest.pok.stglabs.ibm.com:5000/mirror/oc-mirror-metadata
          skipTLS: false
      mirror:
        platform:
          architectures:
            - "s390x"
        operators:
        - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13
          full: false
          packages:
          - name: rhacs-operator
            channels:
            - name: rhacs-3.69
            - name: rhacs-3.74
              minVersion: '3.74.1-1'
              maxVersion: '3.74.6-3'
            - name: rhacs-4.0
            - name: stable
      
      
      In the above image set configuration file, we define 4 Operator package channels (rhacs-3.69, rhacs-3.74, rhacs-4.0, stable).  We confirmed these channels are valid using the following command and output:
      
      
      $ oc-mirror list operators --catalog registry.redhat.io/redhat/redhat-operator-index:v4.13 --package rhacs-operator
      Logging to .oc-mirror.log
      NAME            DISPLAY NAME                              DEFAULT CHANNEL
      rhacs-operator  Advanced Cluster Security for Kubernetes  stable
      
      
      PACKAGE         CHANNEL     HEAD
      rhacs-operator  latest      rhacs-operator.v3.74.6
      rhacs-operator  rhacs-3.62  rhacs-operator.v3.62.1
      rhacs-operator  rhacs-3.64  rhacs-operator.v3.64.2
      rhacs-operator  rhacs-3.65  rhacs-operator.v3.65.1
      rhacs-operator  rhacs-3.66  rhacs-operator.v3.66.1
      rhacs-operator  rhacs-3.67  rhacs-operator.v3.67.2
      rhacs-operator  rhacs-3.68  rhacs-operator.v3.68.2
      rhacs-operator  rhacs-3.69  rhacs-operator.v3.69.2
      rhacs-operator  rhacs-3.70  rhacs-operator.v3.70.1
      rhacs-operator  rhacs-3.71  rhacs-operator.v3.71.3
      rhacs-operator  rhacs-3.72  rhacs-operator.v3.72.4
      rhacs-operator  rhacs-3.73  rhacs-operator.v3.73.5
      rhacs-operator  rhacs-3.74  rhacs-operator.v3.74.6
      rhacs-operator  rhacs-4.0   rhacs-operator.v4.0.4
      rhacs-operator  rhacs-4.1   rhacs-operator.v4.1.4
      rhacs-operator  rhacs-4.2   rhacs-operator.v4.2.1
      rhacs-operator  stable      rhacs-operator.v4.2.1
      
      
      We are also defining "s390x" in the mirror.platform.architectures to specify the exact platform release to mirror.
      
      
      We are able to successfully mirror the rhacs operator to our mirror registry using the following command:
      $ oc mirror --config=./test.yaml docker://bastion.pok-127-qemu.ocptest.pok.stglabs.ibm.com:5000
      
      
      and successfully run the CatalogSource and ICSP manifests:
      $ oc create -f imageContentSourcePolicy.yaml
      imagecontentsourcepolicy.operator.openshift.io/operator-0 created
      $ oc create -f catalogSource-cs-redhat-operator-index.yaml
      catalogsource.operators.coreos.com/cs-redhat-operator-index created
      
      
      We verify that the rhacs operator is available to install in the OCP console under Operator Hub, along with the 4 channels we defined. When we select Channel rhacs-3.69 and Version 3.69.2 to install, the operator installation will fail.
      
      
      We see the following reason for the failure in events under the pod - it is a image pull failure:
      `Failed to pull image "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:9b2beceb255124855ba1b352d16009b2f2cd422901a19c311f0783dab1fcc3a0": rpc error: code = Unknown desc = choosing image instance: no image found in manifest list for architecture s390x, variant "", OS linux`
      
      
      When checking the catalog source for the rhacs operator, specifically filter for version 3.69 and s390x arch, it does not exist -
      https://catalog.redhat.com/software/containers/advanced-cluster-security/rhacs-rhel8-operator/60b92f77abb52c7e88ebc967/history?architecture=s390x
      
      Understandably, since there is no rhacs operator version 3.69 for s390x to be mirrored, why does the Operator Hub still show rhacs 3.69 channel and version available to install? 

      Version-Release number of selected component (if applicable):

      4.14.0

      How reproducible:

      Consistently

      Steps to Reproduce:

      1. Create an imageset configuration file(using the one in description above) to mirror the rhacs operator providing a channel with no version that is available on platform 's390x'.
      2. Run the oc-mirror command to mirror the rhacs operator.
      3. Create the ICSP and catalog source using the output files.
      4. Attempt to install the rhacs operator in the OCP console under Operator Hub.
      5. Operator installation will fail when selecting a channel and version that is not available for the s390x platform.

      Actual results:

      RHACS operator installation fails with "no image found in manifest list for architecture s390x"

      Expected results:

      By setting the mirror.platform.architectures parameter to s390x within the image set configuration file, I would expect the channel and version information to be omitted from the manifest list, so that it is not an available option under Operator Hub.

      Additional info:

       

            luzuccar@redhat.com Luigi Mario Zuccarelli
            phchan@redhat.com Phil Chan
            Doug Slavens Doug Slavens
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: