USHIFT-7412: Add RPM presubmit scenarios - #7175
Conversation
|
@agullon: This pull request references USHIFT-7412 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.0.0" version, but no target version was set. DetailsIn 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. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughRPM scenarios are detected by path and routed through dedicated CI build logic. RPM jobs download RHEL 9.8 and 10.2 installer ISOs, build packages, and run four new presubmit scenarios. ChangesRPM CI workflow
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Scenario
participant CI
participant S3
participant RPMBuilder
participant InstallerVM
Scenario->>CI: select RPM presubmit
CI->>S3: download RHEL installer ISOs
CI->>RPMBuilder: build RPMs
CI->>InstallerVM: create and configure VM
InstallerVM->>InstallerVM: run ordered RPM tests
CI->>InstallerVM: remove VM
Suggested reviewers: Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error, 1 warning)
✅ Passed checks (13 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: agullon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/scenarios-rpm/presubmits/el102-src`@standard1.sh:
- Line 32: Update configure_fast_datapath_repo usage in
test/scenarios-rpm/presubmits/el102-src@standard1.sh lines 32-32 and
test/scenarios-rpm/presubmits/el102-src@standard2.sh lines 32-32 to use a RHEL
10-compatible Fast Datapath configuration, or skip the repository when
unsupported; do not allow the helper’s non-9 branch to configure the RHEL 9 CDN
path.
- Around line 1-3: Update the shell initialization in
test/scenarios-rpm/presubmits/el102-src@standard1.sh lines 1-3,
test/scenarios-rpm/presubmits/el102-src@standard2.sh lines 1-3,
test/scenarios-rpm/presubmits/el98-src@standard1.sh lines 1-3, and
test/scenarios-rpm/presubmits/el98-src@standard2.sh lines 1-3: use the
/usr/bin/bash shebang and add set -euo pipefail immediately afterward in each
scenario script.
- Around line 23-25: In test/scenarios-rpm/presubmits/el102-src@standard1.sh
lines 23-25, declare source_reponame and target_version separately from their
command substitutions so failures from basename and local_rpm_version propagate;
preserve source_repo_url and existing readonly behavior. Apply the same change
to test/scenarios-rpm/presubmits/el102-src@standard2.sh lines 23-25,
test/scenarios-rpm/presubmits/el98-src@standard1.sh lines 23-25, and
test/scenarios-rpm/presubmits/el98-src@standard2.sh lines 23-25, ensuring all
scripts pass shellcheck.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: a2ccf907-00bf-4b73-acb9-ab429a4b1295
📒 Files selected for processing (7)
test/bin/ci_phase_boot_and_test.shtest/bin/ci_phase_iso_build.shtest/bin/common.shtest/scenarios-rpm/presubmits/el102-src@standard1.shtest/scenarios-rpm/presubmits/el102-src@standard2.shtest/scenarios-rpm/presubmits/el98-src@standard1.shtest/scenarios-rpm/presubmits/el98-src@standard2.sh
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/bin/ci_phase_iso_build.sh`:
- Line 215: Remove the unconditional “|| true” from the EPEL installation
command in the CI setup flow so failures stop the build. If idempotency is
required, explicitly handle only the already-installed case while propagating
all other installation errors before the subsequent parallel dependency setup.
- Line 215: Update test/bin/ci_phase_iso_build.sh to use the required
#!/usr/bin/bash shebang and quote the %{rhel} RPM macro in the dnf installation
command as rpm -E '%{rhel}'. Validate the script with shellcheck
--external-sources.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 553ec018-f114-4a11-8ca2-8fdf9b92deb7
📒 Files selected for processing (1)
test/bin/ci_phase_iso_build.sh
927a193 to
f6eabc0
Compare
cdd1299 to
0c56fff
Compare
Add a function that configures a bare RHEL VM for RPM-based MicroShift testing. It handles firewall, RHSM registration, RPM repo setup, MicroShift installation from source-built RPMs, NetworkManager connectivity verification, and healthcheck wait. This enables scenario scripts to install and test MicroShift via dnf on plain RHEL installer ISOs, without ostree or bootc images. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
/test e2e-aws-tests-release |
4 similar comments
|
/test e2e-aws-tests-release |
|
/test e2e-aws-tests-release |
|
/test e2e-aws-tests-release |
|
/test e2e-aws-tests-release |
|
/test e2e-aws-tests |
7862782 to
3741f90
Compare
…riginals
Add 4 RPM scenarios in test/scenarios-rpm/ that boot bare RHEL VMs
from cached installer ISOs and install MicroShift via dnf:
el9/presubmits/el98-src@standard1.sh (RHEL 9.8, standard suite 1)
el9/presubmits/el98-src@standard2.sh (RHEL 9.8, standard suite 2)
el10/presubmits/el102-src@standard1.sh (RHEL 10.2, standard suite 1)
el10/presubmits/el102-src@standard2.sh (RHEL 10.2, standard suite 2)
Symlink them into scenarios-bootc/ and scenarios/ so existing CI jobs
pick them up. Delete the bootc and ostree originals they replace:
scenarios-bootc/el9/presubmits/el98-src@standard-suite{1,2}.sh
scenarios/presubmits/el98-src@standard-suite{1,2}.sh
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pre-commit.check-secrets: ENABLED
|
/retest |
2 similar comments
|
/retest |
|
/retest |
|
@agullon: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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-sigs/prow repository. I understand the commands that are listed here. |
Summary
Replace bootc and ostree standard-suite presubmit scenarios with RPM-based equivalents that install MicroShift via
dnf installon bare RHEL VMs.This is the first PR in a series to migrate all presubmit scenarios from
scenarios-bootc/andscenarios/toscenarios-rpm/. Once all scenarios are migrated (symlinked toscenarios-rpm/), the current 6 presubmit CI lines (2 ostree + 4 bootc) can be consolidated into fewer RPM-only jobs that skip the image build phase entirely — eliminating ~30-40 minutes of ostree/bootc image builds per job.Changes
test/bin/scenario.sh— Addconfigure_rpm_scenario()function that:%postrestarttest/scenarios-rpm/— Add 4 new RPM scenarios:el9/presubmits/el98-src@standard1.shel9/presubmits/el98-src@standard2.shel10/presubmits/el102-src@standard1.shel10/presubmits/el102-src@standard2.shSymlinks — Link RPM scenarios into existing CI directories so they
run in current bootc and ostree presubmit jobs without release repo changes.
Deletions — Remove the bootc and ostree originals these replace:
scenarios-bootc/el9/presubmits/el98-src@standard-suite{1,2}.shscenarios/presubmits/el98-src@standard-suite{1,2}.shHow it works
Each RPM scenario boots a bare RHEL VM from a cached installer ISO (
rhel98-installer/rhel102-installer), callsconfigure_rpm_scenario()to install MicroShift from source-built RPMs, then runs the standard test suite directly. No ostree commits or bootc images are consumed.Symlinks in
scenarios-bootc/andscenarios/point to the canonical scripts inscenarios-rpm/, so existing CI jobs pick them up automatically.Test plan
e2e-aws-tests-bootc-el9passes with the el9 RPM scenariose2e-aws-tests-bootc-el10passes with the el10 RPM scenariose2e-aws-testspasses with the ostree RPM scenarios