[IUO] Migrate install and EUS upgrade paths to Konflux IDMS#4070
[IUO] Migrate install and EUS upgrade paths to Konflux IDMS#4070rnetser merged 1 commit intoRedHatQE:mainfrom
Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR consolidates Konflux-based IDMS utilities into the main test utils module and refactors product install/upgrade configurations to use this Konflux workflow instead of ICSP-based IDMS generation. The migration removes duplicated code, updates fixture dependencies, and centralizes mirror management logic. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes The changes involve moderate complexity: moving and consolidating functions across modules requires verification of logic correctness and impact tracing, fixture dependency updates demand careful validation that the new flow maintains test isolation, and removal of duplicated code necessitates confirming all references are updated. However, the pattern is relatively consistent across files (Konflux utilities migration), reducing the cognitive load compared to heterogeneous changes. Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Report bugs in Issues Welcome! 🎉This pull request will be automatically processed with the following features: 🔄 Automatic Actions
📋 Available CommandsPR Status Management
Review & Approval
Testing & Validation
Container Operations
Cherry-pick Operations
Label Management
✅ Merge RequirementsThis PR will be automatically approved when the following conditions are met:
📊 Review ProcessApprovers and ReviewersApprovers:
Reviewers:
Available Labels
💡 Tips
For more information, please refer to the project documentation or contact the maintainers. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4070 +/- ##
==========================================
- Coverage 98.56% 97.98% -0.58%
==========================================
Files 25 25
Lines 2297 2388 +91
==========================================
+ Hits 2264 2340 +76
- Misses 33 48 +15
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
/build-and-push-container |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@tests/install_upgrade_operators/product_install/conftest.py`:
- Around line 64-90: Rename the fixture function install_konflux_idms to a
noun-based name (e.g., konflux_idms or installed_konflux_idms) while keeping the
`@pytest.fixture`(scope="module") decorator and all parameters the same; update
any tests or fixtures that reference install_konflux_idms to use the new name
(ensure the dependency injection that references this fixture is updated
accordingly), and leave the internal logic that computes required_mirrors,
checks idms.exists and calls apply_konflux_idms unchanged (references:
install_konflux_idms -> new fixture name; apply_konflux_idms,
ImageDigestMirrorSet, idms_has_all_mirrors keep as-is).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: acd3198e-9149-4b3f-8a11-84584c16c17c
📒 Files selected for processing (4)
tests/install_upgrade_operators/product_install/conftest.pytests/install_upgrade_operators/product_upgrade/conftest.pytests/install_upgrade_operators/product_upgrade/utils.pyutilities/operator.py
💤 Files with no reviewable changes (1)
- tests/install_upgrade_operators/product_upgrade/utils.py
|
New container for quay.io/openshift-cnv/openshift-virtualization-tests:pr-4070 published |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@tests/install_upgrade_operators/product_upgrade/conftest.py`:
- Around line 416-422: The loop building required_mirrors manually checks
duplicates; replace that with a set to deduplicate: create a set (e.g.,
required_mirrors_set) and add each mirror computed from eus_cnv_upgrade_path
using Version and KONFLUX_MIRROR_BASE_URL, then convert the set back to a list
assigned to required_mirrors (or use a list(sorted(...)) if deterministic
ordering is needed). Update references to required_mirrors in this scope
accordingly.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 2a021cbc-a761-4308-a952-ffb729555bcb
📒 Files selected for processing (4)
tests/install_upgrade_operators/product_install/conftest.pytests/install_upgrade_operators/product_upgrade/conftest.pytests/install_upgrade_operators/product_upgrade/utils.pytests/install_upgrade_operators/utils.py
💤 Files with no reviewable changes (1)
- tests/install_upgrade_operators/product_upgrade/utils.py
CNV operator builds migrated from Brew to Konflux, so the install and EUS upgrade test paths need Konflux IDMS instead of the legacy ICSP/IDMS generated via `oc adm catalog mirror`. This change consolidates Konflux IDMS helpers (apply_konflux_idms, idms_has_all_mirrors) into tests/install_upgrade_operators/utils.py, removes the legacy ICSP fixtures from both install and EUS upgrade conftest files, and replaces them with new Konflux-based fixtures: - Install path: installed_konflux_idms (product_install/conftest.py) - EUS upgrade path: eus_updated_konflux_idms (product_upgrade/conftest.py) - Upgrade path: add missing client param to updated_konflux_idms Follows up on PR RedHatQE#4061 which fixed the upgrade path only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/verified Tested install of 4.20.7 and then upgrading to 4.21.0: |
Test execution plan request detailsCRITICAL: You MUST post an inline review comment on the first changed line of the first file. As an expert software testing engineer, analyze all modified files in this PR and create a targeted test execution plan. Analysis Requirements:
Your deliverable: Test Execution Plan
Guidelines:
Hardware-Related Checks (SR-IOV, GPU, DPDK): When PR modifies fixtures for hardware-specific resources:
CRITICAL WORKFLOW COMPLETION RULES: When responding to this test execution plan request, you MUST follow these rules EXACTLY:
ABSOLUTE PROHIBITIONS (violating these creates empty/meaningless reviews):
Remember: The pull request review is visible to users. Additional comments are redundant noise. CRITICAL: Before setting "Run smoke tests: True", you MUST use shell scripts to: |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 217 🏁 Script executed: Length of output: 5140 🏁 Script executed: Length of output: 0 🏁 Script executed: Length of output: 6056 🏁 Script executed: Length of output: 109 🏁 Script executed: Length of output: 456 🏁 Script executed: Length of output: 0 🏁 Script executed: Length of output: 1395 🏁 Script executed: Length of output: 1735 🧠 Learnings used |
|
/lgtm |
|
/approve |
|
/check-can-merge |
|
Successfully removed PR tag: quay.io/openshift-cnv/openshift-virtualization-tests:pr-4070. |
…lux IDMS (#4076) Manual Cherry pick of #4070 and #4061 ##### Short description: CNV operator builds migrated from Brew to Konflux, so install, upgrade and EUS upgrade test paths now require Konflux IDMS instead of the legacy ICSP/IDMS generated via `oc adm catalog mirror`. This change consolidates Konflux IDMS helpers (apply_konflux_idms, idms_has_all_mirrors) into tests/install_upgrade_operators/utils.py, removes the legacy ICSP fixtures from install, upgrade and EUS upgrade conftest files, and replaces them with Konflux-based fixtures: - Install path: installed_konflux_idms (product_install/conftest.py) - Upgrade path: updated_konflux_idms (product_upgrade/conftest.py) - EUS upgrade path: eus_updated_konflux_idms (product_upgrade/conftest.py) ##### More details: N/A ##### What this PR does / why we need it: N/A ##### Which issue(s) this PR fixes: N/A ##### Special notes for reviewer: N/A ##### jira-ticket: N/A Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…lux IDMS (#4076) Manual Cherry pick of #4070 and #4061 ##### Short description: CNV operator builds migrated from Brew to Konflux, so install, upgrade and EUS upgrade test paths now require Konflux IDMS instead of the legacy ICSP/IDMS generated via `oc adm catalog mirror`. This change consolidates Konflux IDMS helpers (apply_konflux_idms, idms_has_all_mirrors) into tests/install_upgrade_operators/utils.py, removes the legacy ICSP fixtures from install, upgrade and EUS upgrade conftest files, and replaces them with Konflux-based fixtures: - Install path: installed_konflux_idms (product_install/conftest.py) - Upgrade path: updated_konflux_idms (product_upgrade/conftest.py) - EUS upgrade path: eus_updated_konflux_idms (product_upgrade/conftest.py) ##### More details: N/A ##### What this PR does / why we need it: N/A ##### Which issue(s) this PR fixes: N/A ##### Special notes for reviewer: N/A ##### jira-ticket: N/A Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…lux IDMS (#4076) Manual Cherry pick of #4070 and #4061 ##### Short description: CNV operator builds migrated from Brew to Konflux, so install, upgrade and EUS upgrade test paths now require Konflux IDMS instead of the legacy ICSP/IDMS generated via `oc adm catalog mirror`. This change consolidates Konflux IDMS helpers (apply_konflux_idms, idms_has_all_mirrors) into tests/install_upgrade_operators/utils.py, removes the legacy ICSP fixtures from install, upgrade and EUS upgrade conftest files, and replaces them with Konflux-based fixtures: - Install path: installed_konflux_idms (product_install/conftest.py) - Upgrade path: updated_konflux_idms (product_upgrade/conftest.py) - EUS upgrade path: eus_updated_konflux_idms (product_upgrade/conftest.py) ##### More details: N/A ##### What this PR does / why we need it: N/A ##### Which issue(s) this PR fixes: N/A ##### Special notes for reviewer: N/A ##### jira-ticket: N/A Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
|
New container for quay.io/openshift-cnv/openshift-virtualization-tests:latest published |
…lux IDMS Manual Cherry pick of RedHatQE#4070 and RedHatQE#4061 CNV operator builds migrated from Brew to Konflux, so install, upgrade and EUS upgrade test paths now require Konflux IDMS instead of the legacy ICSP/IDMS generated via `oc adm catalog mirror`. This change consolidates Konflux IDMS helpers (apply_konflux_idms, idms_has_all_mirrors) into tests/install_upgrade_operators/utils.py, removes the legacy ICSP fixtures from install, upgrade and EUS upgrade conftest files, and replaces them with Konflux-based fixtures: - Install path: installed_konflux_idms (product_install/conftest.py) - Upgrade path: updated_konflux_idms (product_upgrade/conftest.py) - EUS upgrade path: eus_updated_konflux_idms (product_upgrade/conftest.py) N/A N/A N/A N/A N/A Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…lux IDMS Manual Cherry pick of RedHatQE#4070 and RedHatQE#4061 CNV operator builds migrated from Brew to Konflux, so install, upgrade and EUS upgrade test paths now require Konflux IDMS instead of the legacy ICSP/IDMS generated via `oc adm catalog mirror`. This change consolidates Konflux IDMS helpers (apply_konflux_idms, idms_has_all_mirrors) into tests/install_upgrade_operators/utils.py, removes the legacy ICSP fixtures from install, upgrade and EUS upgrade conftest files, and replaces them with Konflux-based fixtures: - Install path: installed_konflux_idms (product_install/conftest.py) - Upgrade path: updated_konflux_idms (product_upgrade/conftest.py) - EUS upgrade path: eus_updated_konflux_idms (product_upgrade/conftest.py) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Short description:
Move Konflux IDMS constants and functions (apply_konflux_idms, idms_has_all_mirrors) from product_upgrade/utils.py to shared utilities/operator.py. Replace legacy ICSP/IDMS fixtures in the install path with a new install_konflux_idms fixture, and replace EUS upgrade fixtures (created_eus_icsps, eus_applied_all_icsp) with eus_updated_konflux_idms. This aligns install and EUS paths with the Konflux migration done for upgrades in PR #4061.
More details:
Complements #4061
What this PR does / why we need it:
Fix the IDMS to use Konflux.
Which issue(s) this PR fixes:
N/A
Special notes for reviewer:
N/A
jira-ticket:
https://issues.redhat.com/browse/CNV-81192
https://issues.redhat.com/browse/CNV-81195
Summary by CodeRabbit
Release Notes
Tests
Refactor