openshift / oc-mirror

Lifecycle manager for internet-disconnected OpenShift environments
Apache License 2.0
82 stars 80 forks source link

OCPBUGS-33580: Fix shortestPath returning 3 times the same imageSet #856

Closed sherine-k closed 1 month ago

sherine-k commented 1 month ago

Description

When selecting the release nodes that correspond to the filtering, we were using a slice. duplicates nodes lead to mirroring the release content more than once. The fix consists of using a map in order to reduce the quantity of images. PS: this is a practice that we should consider more overall for all collectors in the future, as some images (kube-rbac-proxy for one) is used in multiple components and operators. WDYT?

Fixes #OCPBUGS-33580

Type of change

Please delete options that are not relevant.

How Has This Been Tested?

mirroring the following imagesetconfig with or without shortestPath: true should lead to the same number of mirrored images.

kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v2alpha1
archiveSize: 8
mirror:
  platform:
    channels:
    - name: stable-4.15                                             
      type: ocp
      minVersion: '4.15.11'
      maxVersion: '4.15.11'
      shortestPath: true

Expected Outcome

Success

openshift-ci-robot commented 1 month ago

@sherine-k: This pull request references Jira Issue OCPBUGS-33580, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug * bug is open, matching expected state (open) * bug target version (4.16.0) matches configured target version for branch (4.16.0) * bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact: /cc @zhouying7780

The bug has been updated to refer to the pull request using the external bug tracker.

In response to [this](https://github.com/openshift/oc-mirror/pull/856): ># Description > >When selecting the release nodes that correspond to the filtering, we were using a slice. duplicates nodes lead to mirroring the release content more than once. >The fix consists of using a map in order to reduce the quantity of images. >PS: this is a practice that we should consider more overall for all collectors in the future, as some images (kube-rbac-proxy for one) is used in multiple components and operators. WDYT? > >Fixes #OCPBUGS-33580 > >## Type of change > >Please delete options that are not relevant. > >- [x] Bug fix (non-breaking change which fixes an issue) >- [ ] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? > >mirroring the following imagesetconfig with or without shortestPath: true should lead to the same number of mirrored images. >```yaml >kind: ImageSetConfiguration >apiVersion: mirror.openshift.io/v2alpha1 >archiveSize: 8 >mirror: > platform: > channels: > - name: stable-4.15 > type: ocp > minVersion: '4.15.11' > maxVersion: '4.15.11' > shortestPath: true >``` > >## Expected Outcome >Success Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci[bot] commented 1 month ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sherine-k

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/openshift/oc-mirror/blob/main/OWNERS)~~ [sherine-k] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
lmzuccarelli commented 1 month ago

/lgtm

lmzuccarelli commented 1 month ago

/hold

zhouying7780 commented 1 month ago

/label qe-approved

openshift-ci-robot commented 1 month ago

@sherine-k: This pull request references Jira Issue OCPBUGS-33580, which is invalid:

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

In response to [this](https://github.com/openshift/oc-mirror/pull/856): ># Description > >When selecting the release nodes that correspond to the filtering, we were using a slice. duplicates nodes lead to mirroring the release content more than once. >The fix consists of using a map in order to reduce the quantity of images. >PS: this is a practice that we should consider more overall for all collectors in the future, as some images (kube-rbac-proxy for one) is used in multiple components and operators. WDYT? > >Fixes #OCPBUGS-33580 > >## Type of change > >Please delete options that are not relevant. > >- [x] Bug fix (non-breaking change which fixes an issue) >- [ ] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? > >mirroring the following imagesetconfig with or without shortestPath: true should lead to the same number of mirrored images. >```yaml >kind: ImageSetConfiguration >apiVersion: mirror.openshift.io/v2alpha1 >archiveSize: 8 >mirror: > platform: > channels: > - name: stable-4.15 > type: ocp > minVersion: '4.15.11' > maxVersion: '4.15.11' > shortestPath: true >``` > >## Expected Outcome >Success Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
lmzuccarelli commented 1 month ago

/jira refresh

openshift-ci-robot commented 1 month ago

@lmzuccarelli: This pull request references Jira Issue OCPBUGS-33580, which is valid.

3 validation(s) were run on this bug * bug is open, matching expected state (open) * bug target version (4.17.0) matches configured target version for branch (4.17.0) * bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact: /cc @zhouying7780

In response to [this](https://github.com/openshift/oc-mirror/pull/856#issuecomment-2138863226): >/jira refresh Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
lmzuccarelli commented 1 month ago

/unhold

lmzuccarelli commented 1 month ago

/retest

openshift-ci-robot commented 1 month ago

@sherine-k: Jira Issue OCPBUGS-33580: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-33580 has been moved to the MODIFIED state.

In response to [this](https://github.com/openshift/oc-mirror/pull/856): ># Description > >When selecting the release nodes that correspond to the filtering, we were using a slice. duplicates nodes lead to mirroring the release content more than once. >The fix consists of using a map in order to reduce the quantity of images. >PS: this is a practice that we should consider more overall for all collectors in the future, as some images (kube-rbac-proxy for one) is used in multiple components and operators. WDYT? > >Fixes #OCPBUGS-33580 > >## Type of change > >Please delete options that are not relevant. > >- [x] Bug fix (non-breaking change which fixes an issue) >- [ ] New feature (non-breaking change which adds functionality) >- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) >- [ ] This change requires a documentation update > ># How Has This Been Tested? > >mirroring the following imagesetconfig with or without shortestPath: true should lead to the same number of mirrored images. >```yaml >kind: ImageSetConfiguration >apiVersion: mirror.openshift.io/v2alpha1 >archiveSize: 8 >mirror: > platform: > channels: > - name: stable-4.15 > type: ocp > minVersion: '4.15.11' > maxVersion: '4.15.11' > shortestPath: true >``` > >## Expected Outcome >Success Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Foc-mirror). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci[bot] commented 1 month ago

@sherine-k: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
openshift-bot commented 1 month ago

[ART PR BUILD NOTIFIER]

This PR has been included in build oc-mirror-plugin-container-v4.17.0-202405301013.p0.ge640610.assembly.stream.el9 for distgit oc-mirror-plugin. All builds following this will include this PR.