New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLID-7: feat: load operator catalog using LoadFS #799
Conversation
@aguidirh: This pull request references CLID-7 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aguidirh - I'm slowly beginning to hate go.mod changes - your changes -> 10 files , the rest -> 278 with version bump
@aguidirh - I haven't tested all the scenarios, I'll do the easiest one (or 2) later today (bandwidth and internet connection permitting) :) , leave the rest for QE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work @aguidirh
I noted just a few nits here and there..
thank you so much
@aguidirh: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/label acknowledge-critical-fixes-only |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aguidirh, 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:
Approvers can indicate their approval by writing |
[ART PR BUILD NOTIFIER] This PR has been included in build oc-mirror-plugin-container-v4.16.0-202402191709.p0.g6320ebd.assembly.stream.el9 for distgit oc-mirror-plugin. |
Description
As part of the mirroring process it is necessary to be able to filter the content to be mirrored by using the ImageSetConfig. This implementation cover all scenarios specified in the operator-filtering-study.md.
This implementation load the catalog using operator framework LoadFS mechanism and remove types duplication between oc-mirror and operator framework.
Fixes # (CLID-7)
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
First step: Choose one of the image set config provided below and add this content to your .yaml file
Second step: run the mirrorToDisk command below:
Third step: run the diskToMirror command below:
Last step: check if the images are in your target registry
All catalog filtering scenarios are covered by the following ImageSetConfigs:
Expected Outcome: For each package in the catalog, 1 bundle, corresponding to the head version of the default channel for that package
Expected Outcome: 1 bundle, corresponding to the head version of the default channel for that package
Expected Outcome: all bundles in the default channel, from minVersion, up to channel head for that package (not relying of shortest path from upgrade graph)
Expected Outcome: all bundles in the default channel, that are lower than maxVersion for that package
Expected Outcome: all bundles in the default channel, between minVersion and maxVersion for that package. Head of channel is not included, even if multiple channels are included in the filtering
Expected Outcome: within the selected channel of that package, all version starting minVersion up to channel head (not relying of shortest path from upgrade graph)
Expected Outcome: head bundle for the selected channel of that package
Expected Outcome: head bundle for the each selected channel of that package
Expected Outcome: within the selected channel of that package, all versions up to maxVersion (not relying of shortest path from upgrade graph): Head of channel is not included, even if multiple channels are included in the filtering
Expected Outcome: within the selected channel of that package, all versions between minVersion and maxVersion (not relying of shortest path from upgrade graph): Head of channel is not included, even if multiple channels are included in the filtering
Expected Outcome: Error: filtering by channel and by package min/max should not be allowed
Expected Outcome: all bundles of all channels of the specified catalog
Expected Outcome: all bundles of all channels for the packages specified
Expected Outcome: # all bundles for the packages and channels specified