USHIFT-7065: CI implementation: Support MicroShift V5.0 on RHEL 9.8 GA Implementation - #7139
USHIFT-7065: CI implementation: Support MicroShift V5.0 on RHEL 9.8 GA Implementation#7139agullon wants to merge 5 commits into
Conversation
|
@agullon: This pull request references USHIFT-7065 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 story 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. |
|
[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 |
WalkthroughAdds RHEL 9.8 Brew Y-1 and Y-2 image blueprints, bootc LVMS upgrade scenarios, RPM LVMS upgrade scenarios, RPM standard scenarios, and RPM upgrade scenarios. ChangesRHEL 9.8 release validation
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant scenario_run_tests
participant host1
participant MicroShift
participant RobotFrameworkSuites
scenario_run_tests->>host1: create and configure VM
host1->>MicroShift: wait for readiness and configure repositories
scenario_run_tests->>host1: run installation or upgrade suite
host1->>MicroShift: validate workloads and resources
scenario_run_tests->>RobotFrameworkSuites: run standard and removal validation
Possibly related PRs
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 |
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/scenarios/releases/el98-yminus1`@el98-lrel@lvms-standard.sh:
- Around line 1-7: Update the three scenario
files—test/scenarios/releases/el98-yminus1@el98-lrel@lvms-standard.sh (lines
1-7), test/scenarios/releases/el98-yminus2@el98-lrel@lvms-standard.sh (lines
1-7), and test/scenarios/releases/el98-yminus2@rpm-upgrade.sh (lines 1-14)—to
use the #!/usr/bin/bash shebang and add set -euo pipefail immediately after it.
In `@test/scenarios/releases/el98-yminus2`@rpm-upgrade.sh:
- Line 43: Update the reponame declaration in the release-upgrade script to
declare the readonly local variable separately, then assign it from basename in
a distinct command so basename’s exit status is preserved and ShellCheck SC2155
is resolved.
🪄 Autofix (Beta)
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: 72fa958a-0fde-4f90-ae7e-54634c04daa4
📒 Files selected for processing (9)
test/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-y1-with-optional.containerfiletest/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-y2-with-optional.containerfiletest/image-blueprints/layer4-release/group1/rhel98-brew-y2-with-optionals.tomltest/image-blueprints/layer4-release/group2/rhel98-brew-y1-with-optionals.tomltest/scenarios-bootc/el9/releases/el98-y1@el98-lrel@lvms-standard.shtest/scenarios-bootc/el9/releases/el98-y2@el98-lrel@lvms-standard.shtest/scenarios/releases/el98-yminus1@el98-lrel@lvms-standard.shtest/scenarios/releases/el98-yminus2@el98-lrel@lvms-standard.shtest/scenarios/releases/el98-yminus2@rpm-upgrade.sh
Add ostree (.toml) and bootc (.containerfile) image blueprints for RHEL 9.8 with y-1 (4.22) and y-2 (4.21) MicroShift versions. These start images are prerequisites for the el98→el98 upgrade CI scenarios added in subsequent commits. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
Test RPM-based upgrade from MicroShift 4.21 (y-2) to 5.0 on RHEL 9.8 using the YMINUS2 release repo and brew RPMs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
…on RHEL 9.8 Test ostree upgrades from MicroShift 4.22 (y-1) and 4.21 (y-2) to 5.0 on RHEL 9.8 with LVMS workload validation and standard1+standard2 suites. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
…n RHEL 9.8 Test bootc upgrades from MicroShift 4.22 (y-1) and 4.21 (y-2) to 5.0 on RHEL 9.8 with LVMS workload validation and standard1+standard2 suites. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
- el98@rpm-upgrade.sh → el98-yminus1@el98-lrel@rpm.sh - el98@rpm-standard1.sh → el98-lrel@rpm-standard1.sh - el98@rpm-standard2.sh → el98-lrel@rpm-standard2.sh - el98-yminus2@rpm-upgrade.sh → el98-yminus2@el98-lrel@rpm.sh Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
test/scenarios/releases/el98-lrel@rpm-standard1.sh (1)
1-14: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAlign the four sourced scripts with the shell-script policy.
test/bin/scenario.shenables strict mode before sourcing these files. Change all four shebangs to#!/usr/bin/bashand addset -euo pipefail, or document an explicit exception for sourced scenario scripts.🤖 Prompt for 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. In `@test/scenarios/releases/el98-lrel`@rpm-standard1.sh around lines 1 - 14, Update all four sourced scenario scripts—test/scenarios/releases/el98-lrel@rpm-standard1.sh (lines 1-14), test/scenarios/releases/el98-lrel@rpm-standard2.sh (lines 1-14), test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines 1-14), and test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 1-14)—to use the /usr/bin/bash shebang and enable set -euo pipefail, or document an explicit shell-policy exception for these scripts.Sources: Coding guidelines, Learnings
🤖 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/releases/el98-yminus1`@el98-lrel@rpm.sh:
- Around line 51-56: Pin RHEL 9.8 after repository setup and before dependency
installation by adding the subscription-manager release command before run_tests
host1 in both test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines
51-56) and test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 51-55).
---
Nitpick comments:
In `@test/scenarios/releases/el98-lrel`@rpm-standard1.sh:
- Around line 1-14: Update all four sourced scenario
scripts—test/scenarios/releases/el98-lrel@rpm-standard1.sh (lines 1-14),
test/scenarios/releases/el98-lrel@rpm-standard2.sh (lines 1-14),
test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines 1-14), and
test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 1-14)—to use the
/usr/bin/bash shebang and enable set -euo pipefail, or document an explicit
shell-policy exception for these scripts.
🪄 Autofix (Beta)
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: e700dba5-0116-44b6-9590-298ab22c3bd5
📒 Files selected for processing (4)
test/scenarios/releases/el98-lrel@rpm-standard1.shtest/scenarios/releases/el98-lrel@rpm-standard2.shtest/scenarios/releases/el98-yminus1@el98-lrel@rpm.shtest/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 1
🧹 Nitpick comments (1)
test/scenarios/releases/el98-lrel@rpm-standard1.sh (1)
1-14: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAlign the four sourced scripts with the shell-script policy.
test/bin/scenario.shenables strict mode before sourcing these files. Change all four shebangs to#!/usr/bin/bashand addset -euo pipefail, or document an explicit exception for sourced scenario scripts.🤖 Prompt for 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. In `@test/scenarios/releases/el98-lrel`@rpm-standard1.sh around lines 1 - 14, Update all four sourced scenario scripts—test/scenarios/releases/el98-lrel@rpm-standard1.sh (lines 1-14), test/scenarios/releases/el98-lrel@rpm-standard2.sh (lines 1-14), test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines 1-14), and test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 1-14)—to use the /usr/bin/bash shebang and enable set -euo pipefail, or document an explicit shell-policy exception for these scripts.Sources: Coding guidelines, Learnings
🤖 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/releases/el98-yminus1`@el98-lrel@rpm.sh:
- Around line 51-56: Pin RHEL 9.8 after repository setup and before dependency
installation by adding the subscription-manager release command before run_tests
host1 in both test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines
51-56) and test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 51-55).
---
Nitpick comments:
In `@test/scenarios/releases/el98-lrel`@rpm-standard1.sh:
- Around line 1-14: Update all four sourced scenario
scripts—test/scenarios/releases/el98-lrel@rpm-standard1.sh (lines 1-14),
test/scenarios/releases/el98-lrel@rpm-standard2.sh (lines 1-14),
test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines 1-14), and
test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 1-14)—to use the
/usr/bin/bash shebang and enable set -euo pipefail, or document an explicit
shell-policy exception for these scripts.
🪄 Autofix (Beta)
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: e700dba5-0116-44b6-9590-298ab22c3bd5
📒 Files selected for processing (4)
test/scenarios/releases/el98-lrel@rpm-standard1.shtest/scenarios/releases/el98-lrel@rpm-standard2.shtest/scenarios/releases/el98-yminus1@el98-lrel@rpm.shtest/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh
🛑 Comments failed to post (1)
test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (1)
51-56: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/bash set -euo pipefail rg -n -C 4 --glob '*.sh' \ 'launch_vm rhel-9\.8|subscription-manager release --set 9\.8|subscription_manager_register|run_tests host1' \ test/scenarios/releasesRepository: openshift/microshift
Length of output: 47071
🏁 Script executed:
#!/usr/bin/bash set -euo pipefail printf '%s\n' '--- target scenarios ---' cat -n 'test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh' | sed -n '1,90p' cat -n 'test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh' | sed -n '1,90p' printf '%s\n' '--- helper definitions and release pin usage ---' rg -n -C 6 \ 'subscription_manager_register|subscription-manager release --set|configure_rhocp_repo|configure_microshift_mirror' \ --glob '*.sh' .Repository: openshift/microshift
Length of output: 36962
🏁 Script executed:
#!/usr/bin/bash set -euo pipefail printf '%s\n' '--- repository helper implementations ---' sed -n '1240,1375p' test/bin/scenario.sh printf '%s\n' '--- test runner and package-install call sites ---' rg -n -C 5 \ 'run_tests\(\)|run_tests |dnf( |-|$)|yum( |-|$)|package|install' \ test/bin test/suites test/scenarios/releases \ --glob '*.sh' --glob '*.robot' \ | sed -n '1,320p' printf '%s\n' '--- registration implementation ---' cat -n test/bin/subscription_manager_register.sh | sed -n '1,180p'Repository: openshift/microshift
Length of output: 29620
🏁 Script executed:
#!/usr/bin/bash set -euo pipefail printf '%s\n' '--- launch and RHEL release configuration flow ---' rg -n -C 8 \ 'launch_vm\(\)|SET_RHEL_RELEASE|configure-vm\.sh|VERSION_ID_MINOR|VERSION_ID=' \ test/bin scripts test \ --glob '*.sh' \ | sed -n '1,360p' printf '%s\n' '--- release commands in all relevant scenario families ---' rg -n -C 3 \ 'launch_vm rhel-9\.8|subscription-manager release --set 9\.8|EXPECTED_OS_VERSION:9\.8' \ test/scenarios/releases test/scenarios-bootc \ --glob '*.sh' \ | sed -n '1,360p'Repository: openshift/microshift
Length of output: 47539
🏁 Script executed:
#!/usr/bin/bash set -euo pipefail python3 - <<'PY' from pathlib import Path targets = [ Path("test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh"), Path("test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh"), ] standard = [ Path("test/scenarios/releases/el98-lrel@rpm-standard1.sh"), Path("test/scenarios/releases/el98-lrel@rpm-standard2.sh"), ] pin = 'subscription-manager release --set 9.8' def check(path): text = path.read_text() required = { "launch_vm rhel-9.8": "launch_vm rhel-9.8" in text, "subscription_manager_register host1": "subscription_manager_register host1" in text, "release pin": pin in text, "run_tests host1": "run_tests host1" in text, } positions = {name: text.find(value) for name, value in [ ("register", "subscription_manager_register host1"), ("pin", pin), ("run_tests", "run_tests host1"), ]} print(path) print(required) print(positions) for path in targets + standard: check(path) print("All tracked release-pin occurrences:") for path in sorted(Path(".").rglob("*.sh")): text = path.read_text(errors="replace") if pin in text: print(path) PYRepository: openshift/microshift
Length of output: 1305
Pin RHEL 9.8 before dependency installation
Add
run_command_on_vm host1 "sudo subscription-manager release --set 9.8"after repository setup and beforerun_tests host1in both upgrade scenarios.📍 Affects 2 files
test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh#L51-L56(this comment)test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh#L51-L55🤖 Prompt for 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. In `@test/scenarios/releases/el98-yminus1`@el98-lrel@rpm.sh around lines 51 - 56, Pin RHEL 9.8 after repository setup and before dependency installation by adding the subscription-manager release command before run_tests host1 in both test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh (lines 51-56) and test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh (lines 51-55).
|
@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
Add CI release scenarios for same-OS-version MicroShift upgrades on
RHEL 9.8 and standardize RPM scenario naming.
New upgrade scenarios (5 files):
el98-yminus2@el98-lrel@rpm.shel98-yminus1@el98-lrel@lvms-standard.shel98-yminus2@el98-lrel@lvms-standard.shel98-y1@el98-lrel@lvms-standard.shel98-y2@el98-lrel@lvms-standard.shNew image blueprints (4 files):
Start images for el98 with older MicroShift versions — required by the
ostree and bootc scenarios above.
rhel98-brew-y1-with-optionals.toml/rhel98-brew-y2-with-optionals.tomlrhel98-bootc-brew-y1-with-optional.containerfile/rhel98-bootc-brew-y2-with-optional.containerfileRenames (3 existing files):
el98@rpm-upgrade.shel98-yminus1@el98-lrel@rpm.shel98@rpm-standard1.shel98-lrel@rpm-standard1.shel98@rpm-standard2.shel98-lrel@rpm-standard2.shTest plan
🤖 Generated with Claude Code