Description of problem:
oc mirror v2 fails on non-default operator channels
Version-Release number of selected component (if applicable):
4.18.6
How reproducible:
100%
Steps to Reproduce:
1.imagesetconfig as follow kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v2alpha1 archiveSize: 4 mirror: platform: channels: - name: stable-4.18 type: ocp graph: true operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.18 packages: - name: cincinnati-operator channels: - name: v1 - name: rook-ceph-operator channels: - name: stable-4.18 2. Run oc-mirror like: oc-mirror --v2 --authfile /home/user/pull-secret --parallel-images 2 --retry-delay 2s --retry-times 5 -c ./imageset-config.yaml file:///opt/mirror 3. Error occurs 2025/04/02 16:36:17 [ERROR] : invalid default channel configuration for package "rook-ceph-operator": the default channel "stable-4.18" was filtered out, a new default channel must be configured for this package
Actual results:
2025/04/02 16:36:17 [ERROR] : invalid default channel configuration for package "rook-ceph-operator": the default channel "stable-4.18" was filtered out, a new default channel must be configured for this package
Expected results:
oc mirror pulls OCP release 4.18 and an operator from the stable-4.17 channel
Additional info:
We've seen this same behavior with the MTV operator and 2.7 vs 2.8 We can list the available channels from the redhat-operator-index:v4.18 here and see the "stable-4.17" is still a valid channel to mirror from. oc-mirror list operators --catalog=registry.redhat.io/redhat/redhat-operator-index:v4.18 --package=rook-ceph-operator NAME DISPLAY NAME DEFAULT CHANNEL rook-ceph-operator stable-4.18PACKAGE CHANNEL HEAD rook-ceph-operator stable-4.17 rook-ceph-operator.v4.17.6-rhodf rook-ceph-operator stable-4.18 rook-ceph-operator.v4.18.1-rhodf I make no claim that it's a good idea to use an older version of rook-ceph with a newer OCP. The issue is that these are valid channel paths which oc-mirror v2 is blocking. Presumably because stable-4.18 is the default channel in redhat-operator-index:v4.18.