Description of problem:
oc-mirror plugin v2 is mirroring OpenShift release versions (e.g., 4.12.71, 4.13.55) that were not explicitly specified in the ImageSetConfiguration, even when `graph: true` is removed (or set to false) and `shortestPath: true` is not used. This leads to unexpected image bloat and requires additional manual cleanup via DeleteImageSetConfiguration.
Version-Release number of selected component (if applicable):
oc-mirror v2 plugin (tested with latest available version)
How reproducible:
Always
Steps to Reproduce:
1. Create an ImageSetConfiguration with only exact OpenShift versions specified (e.g., 4.12.31, 4.13.21, 4.14.24) # cat testimageset.yaml
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v2alpha1
mirror:
platform:
architectures:
- amd64
channels:
- name: stable-4.12
minVersion: 4.12.31
maxVersion: 4.12.31
type: ocp
shortestPath: true
- name: stable-4.13
minVersion: 4.13.21
maxVersion: 4.13.21
type: ocp
shortestPath: true
- name: stable-4.14
minVersion: 4.14.24
maxVersion: 4.14.24
type: ocp
shortestPath: true
graph: true
additionalImages:
- name: registry.redhat.io/ubi8/ubi:latest
helm: {} Run oc-mirror with this configuration.
2. Could see 4.12.71,4.13.55 has also been mirrored along with the intended images 4.12.31,4.13.21.4.14.24
docker://quay.io/openshift-release-dev/ocp-release:4.12.31-x86_64=docker://vm-235-12.vmware.gsslab.pnq2.redhat.com:8443/openshift/release-images:4.12.31-x86_64
docker://quay.io/openshift-release-dev/ocp-release:4.12.71-x86_64=docker://vm-235-12.vmware.gsslab.pnq2.redhat.com:8443/openshift/release-images:4.12.71-x86_64 ---------->
docker://quay.io/openshift-release-dev/ocp-release:4.13.21-x86_64=docker://vm-235-12.vmware.gsslab.pnq2.redhat.com:8443/openshift/release-images:4.13.21-x86_64
docker://quay.io/openshift-release-dev/ocp-release:4.13.55-x86_64=docker://vm-235-12.vmware.gsslab.pnq2.redhat.com:8443/openshift/release-images:4.13.55-x86_64 ---------->
docker://quay.io/openshift-release-dev/ocp-release:4.14.24-x86_64=docker://vm-235-12.vmware.gsslab.pnq2.redhat.com:8443/openshift/release-images:4.14.24-x86_64
3. Same behaviour with version 1 oc-mirror as well.
manifests:
sha256:0a34eac4b834e67f1bca94493c237e307be2c0eae7b8956d4d8ef1c0c462c7b0 -> 4.14.24-x86_64
sha256:4e0e74e9fdfbaec726654fa883b2018beb548e12ad9db2ffbeb7cf2d6862f7e8 -> 4.12.31-x86_64
sha256:562c214e9662e3684ac5b8c3d5d2759a83f544da8897a00ebe91a02fcad6d2d9 -> 4.13.21-x86_64
sha256:ede46c671ff7dcd2f9ccff821e24a319297529c9852d7e987ab268e22a21b782 -> 4.12.71-x86_64
sha256:fb687ffbbe6fcb4b551518c5e910929bbac6baf5b5b1bbbc286fb2da9dbd5490 -> 4.13.55-x86_64
Actual results:
Extra OpenShift release images like 4.12.71 and 4.13.55 are mirrored to the registry. These versions were not listed in the configuration.
Expected results:
Only the explicitly listed versions (e.g., 4.12.31, 4.13.21, 4.14.24) should be mirrored. No additional release images should be pulled when upgrade graph logic is not enabled.
Additional info:
This behavior is observed even without enabling upgrade graph resolution. Manual deletion of extra releases is currently required using DeleteImageSetConfiguration.