Skip to content

USHIFT-7065: CI implementation: Support MicroShift V5.0 on RHEL 9.8 GA Implementation - #7139

Open
agullon wants to merge 5 commits into
openshift:mainfrom
agullon:USHIFT-7065
Open

USHIFT-7065: CI implementation: Support MicroShift V5.0 on RHEL 9.8 GA Implementation#7139
agullon wants to merge 5 commits into
openshift:mainfrom
agullon:USHIFT-7065

Conversation

@agullon

@agullon agullon commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

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):

Ticket Type Path Upgrade
USHIFT-7282 RPM el98-yminus2@el98-lrel@rpm.sh 4.21 → 5.0
USHIFT-7283 ostree el98-yminus1@el98-lrel@lvms-standard.sh 4.22 → 5.0
USHIFT-7283 ostree el98-yminus2@el98-lrel@lvms-standard.sh 4.21 → 5.0
USHIFT-7284 bootc el98-y1@el98-lrel@lvms-standard.sh 4.22 → 5.0
USHIFT-7284 bootc el98-y2@el98-lrel@lvms-standard.sh 4.21 → 5.0

New 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.toml
  • rhel98-bootc-brew-y1-with-optional.containerfile / rhel98-bootc-brew-y2-with-optional.containerfile

Renames (3 existing files):

Before After
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

Test plan

  • Release job builds el98 y-1/y-2 ostree and bootc images from new blueprints
  • RPM scenario installs 4.21 from rhocp and upgrades to 5.0 brew
  • ostree/bootc scenarios upgrade from y-1/y-2 to latest release on el98
  • LVMS workloads persist across all upgrades
  • standard1 and standard2 suites pass after each upgrade
  • Renamed scenarios still run correctly

🤖 Generated with Claude Code

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 3, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 3, 2026

Copy link
Copy Markdown

@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.

Details

In response to this:

Summary

  • Add image blueprints (ostree .toml + bootc .containerfile) for RHEL 9.8 with y-1 (4.22) and y-2 (4.21) MicroShift versions
  • Add RPM upgrade scenario from 4.21→5.0 on RHEL 9.8 (USHIFT-7282)
  • Add ostree upgrade scenarios from 4.22→5.0 and 4.21→5.0 on RHEL 9.8 with LVMS validation + standard1/standard2 suites (USHIFT-7283)
  • Add bootc upgrade scenarios from 4.22→5.0 and 4.21→5.0 on RHEL 9.8 with LVMS validation + standard1/standard2 suites (USHIFT-7284)

Tickets

  • USHIFT-7282 — RPM CI test scenario upgrade path from 4.21 on 9.8 to 5.0 on 9.8
  • USHIFT-7283 — ostree CI test scenarios upgrade paths from 4.21 and 4.22 on 9.8 to 5.0 on 9.8
  • USHIFT-7284 — bootc CI test scenarios upgrade paths from 4.21 and 4.22 on 9.8 to 5.0 on 9.8

New Files

Image Blueprints (4 files):

  • test/image-blueprints/layer4-release/group2/rhel98-brew-y1-with-optionals.toml
  • test/image-blueprints/layer4-release/group1/rhel98-brew-y2-with-optionals.toml
  • test/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-y1-with-optional.containerfile
  • test/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-y2-with-optional.containerfile

Scenario Files (5 files):

  • test/scenarios/releases/el98-yminus2@rpm-upgrade.sh
  • test/scenarios/releases/el98-yminus1@el98-lrel@lvms-standard.sh
  • test/scenarios/releases/el98-yminus2@el98-lrel@lvms-standard.sh
  • test/scenarios-bootc/el9/releases/el98-y1@el98-lrel@lvms-standard.sh
  • test/scenarios-bootc/el9/releases/el98-y2@el98-lrel@lvms-standard.sh

Test plan

  • CI validates shellcheck on new .sh files
  • Release job builds el98 y-1/y-2 ostree and bootc images
  • RPM upgrade scenario installs 4.21 from rhocp and upgrades to 5.0 brew
  • ostree upgrade scenarios boot from el98 y-1/y-2 commits and upgrade to el98 latest release
  • bootc upgrade scenarios boot from el98 y-1/y-2 containers and upgrade to el98 latest release

🤖 Generated with Claude Code

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.

@openshift-ci
openshift-ci Bot requested review from copejon and eslutsky August 3, 2026 08:58
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Adds 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.

Changes

RHEL 9.8 release validation

Layer / File(s) Summary
RHEL 9.8 image blueprints
test/image-blueprints-bootc/el9/..., test/image-blueprints/layer4-release/...
Adds release-gated image definitions with MicroShift packages, services, and firewall settings.
Bootc LVMS upgrade scenarios
test/scenarios-bootc/el9/releases/*
Adds ordered VM scenarios that validate LVMS workloads and resources before and after bootc upgrades.
RPM LVMS upgrade scenarios
test/scenarios/releases/el98-yminus*@el98-lrel@lvms-standard.sh
Adds ordered RPM upgrade scenarios with LVMS persistence checks and standard validation.
RPM standard scenarios
test/scenarios/releases/el98-lrel@rpm-standard*.sh
Adds RHEL 9.8 VM setup, repository configuration, and installation, standard, and removal suites.
RPM upgrade scenarios
test/scenarios/releases/el98-yminus*@el98-lrel@rpm.sh
Adds current and prior-version repository setup and successful RPM upgrade suites.

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
Loading

Possibly related PRs

Suggested reviewers: copejon, eslutsky


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error All added scenarios call prepare_kickstart; CI runs scenario.sh with bash -x, and its traced sed expands PULL_SECRET_CONTENT, exposing pull-secret tokens in CI logs. Disable xtrace while prepare_kickstart runs or redact PULL_SECRET_CONTENT before tracing; do not log commands that contain secret-bearing substitutions.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (13 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed All summarized changes are shell or blueprint files with no Ginkgo It/Describe/Context titles; scenario scripts invoke static Robot suite paths only.
Test Structure And Quality ✅ Passed The PR adds only shell scenarios, TOML blueprints, and Containerfiles; no Ginkgo blocks or assertions were added. Scenarios invoke Robot Framework .robot suites.
Microshift Test Compatibility ✅ Passed The PR changes only Shell, TOML, and Containerfile files; the merge-base diff adds no Go files or Ginkgo declarations, so this check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR adds only shell, TOML, and Containerfile files; it adds no Go files or Ginkgo It/Describe/Context/When tests, so SNO compatibility checks do not apply.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only test image blueprints and release scenario scripts; no deployment manifests, operators, controllers, or topology-sensitive scheduling constraints were added.
Ote Binary Stdout Contract ✅ Passed The PR changes only Containerfiles, TOML, and shell scenario files; it changes no Go or OTE entry-point code, and no changed file contains RunSpecs or suite setup.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds shell scenario wrappers, Robot suites, and image blueprints; no new Ginkgo declarations or public-internet endpoints appear in the changed files.
No-Weak-Crypto ✅ Passed The PR diff contains no MD5, SHA-1, DES, 3DES, RC4, Blowfish, ECB, crypto implementation, or secret comparison; changes only add image and test orchestration configuration.
Container-Privileges ✅ Passed The PR adds no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings; changed files contain no Kubernetes manifests or explicit root directives.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the CI implementation for MicroShift V5.0 on RHEL 9.8 GA, matching the pull request objectives.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 2484f93 and c7d0152.

📒 Files selected for processing (9)
  • test/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-y1-with-optional.containerfile
  • test/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-y2-with-optional.containerfile
  • test/image-blueprints/layer4-release/group1/rhel98-brew-y2-with-optionals.toml
  • test/image-blueprints/layer4-release/group2/rhel98-brew-y1-with-optionals.toml
  • test/scenarios-bootc/el9/releases/el98-y1@el98-lrel@lvms-standard.sh
  • test/scenarios-bootc/el9/releases/el98-y2@el98-lrel@lvms-standard.sh
  • test/scenarios/releases/el98-yminus1@el98-lrel@lvms-standard.sh
  • test/scenarios/releases/el98-yminus2@el98-lrel@lvms-standard.sh
  • test/scenarios/releases/el98-yminus2@rpm-upgrade.sh

Comment thread test/scenarios/releases/el98-yminus1@el98-lrel@lvms-standard.sh
Comment thread test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh
agullon added 4 commits August 3, 2026 12:17
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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
test/scenarios/releases/el98-lrel@rpm-standard1.sh (1)

1-14: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Align the four sourced scripts with the shell-script policy.

test/bin/scenario.sh enables strict mode before sourcing these files. Change all four shebangs to #!/usr/bin/bash and add set -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

📥 Commits

Reviewing files that changed from the base of the PR and between c1a2138 and b7ab499.

📒 Files selected for processing (4)
  • test/scenarios/releases/el98-lrel@rpm-standard1.sh
  • test/scenarios/releases/el98-lrel@rpm-standard2.sh
  • test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh
  • test/scenarios/releases/el98-yminus2@el98-lrel@rpm.sh

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 win

Align the four sourced scripts with the shell-script policy.

test/bin/scenario.sh enables strict mode before sourcing these files. Change all four shebangs to #!/usr/bin/bash and add set -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

📥 Commits

Reviewing files that changed from the base of the PR and between c1a2138 and b7ab499.

📒 Files selected for processing (4)
  • test/scenarios/releases/el98-lrel@rpm-standard1.sh
  • test/scenarios/releases/el98-lrel@rpm-standard2.sh
  • test/scenarios/releases/el98-yminus1@el98-lrel@rpm.sh
  • test/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/releases

Repository: 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)
PY

Repository: 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 before run_tests host1 in 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).

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@agullon: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-tests-bootc-release-arm-el9 b7ab499 link true /test e2e-aws-tests-bootc-release-arm-el9
ci/prow/e2e-aws-tests-bootc-release-arm-el10 b7ab499 link true /test e2e-aws-tests-bootc-release-arm-el10
ci/prow/e2e-aws-tests-bootc-release-el9 b7ab499 link true /test e2e-aws-tests-bootc-release-el9
ci/prow/e2e-aws-tests-release-arm b7ab499 link true /test e2e-aws-tests-release-arm
ci/prow/e2e-aws-tests-bootc-release-el10 b7ab499 link true /test e2e-aws-tests-bootc-release-el10
ci/prow/e2e-aws-tests-release b7ab499 link true /test e2e-aws-tests-release

Full PR test history. Your PR dashboard.

Details

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-sigs/prow repository. I understand the commands that are listed here.

@agullon agullon changed the title USHIFT-7065: Add el98→el98 upgrade CI scenarios for MicroShift 5.0 USHIFT-7065: CI implementation: Support MicroShift V5.0 on RHEL 9.8 GA Implementation Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants