-
Bug
-
Resolution: Not a Bug
-
Normal
-
None
-
4.14.0
-
Moderate
-
No
-
Rejected
-
False
-
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: