Skip to content

MGMT-24398, MGMT-24399: Migrate test versions to OCP version builder#10412

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
bluesort:mgmt-24398
Jun 17, 2026
Merged

MGMT-24398, MGMT-24399: Migrate test versions to OCP version builder#10412
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
bluesort:mgmt-24398

Conversation

@bluesort

@bluesort bluesort commented May 29, 2026

Copy link
Copy Markdown
Member

Migrates subsystem tests and default unit test configuration to use the TestVersionBuilder introduced in MGMT-24397.

This PR covers both MGMT-24398 and MGMT-24399 since they modify the same files.

To confirm resilience to release branch version pruning, older versions were temporarily removed from this branch. All tests targeting specific version ranges correctly skipped when their constraints were no longer satisfied, and all remaining tests passed. The version data changes were then reverted for merge.

Key changes

  • Generated test data now uses real OS image and release image metadata. test_versions_generated.go was previously a flat list of version strings per arch. It now stores testOsImage (version + URL) and testReleaseImage (version + URL) maps sourced from default_os_images.json and default_release_images.json. Methods like ReleaseImageURL(), RhcosImageURL(), RhcosVersion(), and ReleaseVersion() return real values from the generated data rather than synthesizing URLs from a pattern.
  • Subsystem tests migrated from hardcoded versions to TestVersion(). All subsystem tests now use the builder's constraint API (LessThan, GreaterThanOrEqual, Exact, etc.) with TryVersion()/Skip() to gracefully handle version-boundary tests. Tests that require a specific OCP version range skip rather than fail when the version set doesn't include a match.
  • Subsystem test helpers updated. SubsystemTestContext and kubeapi tests now derive versions from TestVersion() instead of hardcoded "4.16" / "4.12" strings. agent_based_installer_client_test.go extracts its expected version from the clusterImageSet.yaml fixture to stay in sync when the fixture is updated.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

Summary by CodeRabbit

  • New Features

    • Dynamic OpenShift version selection for tests, improving multi-architecture (x86_64, arm64, multi) coverage.
  • Bug Fixes

    • vSphere installer VIPs now populate correctly for older OpenShift versions.
    • MCO reboot skip behavior adjusted so installs for 4.15+ skip MCO reboots by default.
  • Chores

    • Updated OS image catalog and deployment samples to include OpenShift 4.20–5.0.
    • Removed hardcoded version dependencies across tests for maintainability.

@openshift-ci-robot

openshift-ci-robot commented May 29, 2026

Copy link
Copy Markdown

@bluesort: No Jira issue with key MGTM-24398 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

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 added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 29, 2026
@openshift-ci

openshift-ci Bot commented May 29, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci-robot

Copy link
Copy Markdown

@bluesort: No Jira issue with key MGTM-24398 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

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 added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label May 29, 2026
@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a generator that parses release-images JSON into a per-architecture test-version map, implements a fluent TestVersionBuilder with tests, migrates many tests to compute OpenShift/RHCOS versions dynamically (skipping when none available), updates test defaults wiring, and refreshes OS/release image catalogs and manifests.

Changes

Dynamic version selection system

Layer / File(s) Summary
Generation pipeline & generated data
hack/Makefile, hack/generate.sh, data/default_release_images.json, internal/common/test_versions_generated.go
Adds generate-test-versions Make target and generate_test_versions() script to parse release images and emit internal/common/test_versions_generated.go; minor JSON EOF/format adjustments.
TestVersionBuilder implementation
internal/common/test_versions.go
New fluent builder (TestVersion()) to select versions by architecture and constraints with helpers for ReleaseVersion/MultiVersion/ReleaseImageURL/RhcosImageURL.
TestVersionBuilder tests
internal/common/test_versions_test.go
Comprehensive Ginkgo suite validating selection semantics, constraints, formatting, edge cases, and URL tag formatting across architectures.
Test default wiring
internal/common/test_configuration.go
Replaces hardcoded OpenShift/RHCOS test defaults with values derived from DefaultTestVersion = TestVersion().Latest(), and updates TestDefaultConfig.OsImage.URL.
Inventory & host tests
internal/bminventory/inventory_test.go, internal/host/hostcommands/install_cmd_test.go
Makes pre-4.12 VIP tests dynamic, adds vSphere pre-4.12 single-VIP case, injects CPUArchitecture in fixtures, and updates EnableSkipMcoReboot expectations across install command tests.
Subsystem helpers & context
subsystem/subsystem_suite_test.go, subsystem/utils_test/subsystem_test_context.go, multiple subsystem/* tests
Adds helpers to compute suitable OpenShift versions at runtime, removes hardcoded globals, changes NewSubsystemTestContext/RegisterCluster to pass explicit openshiftVersion, and migrates many tests to invoke dynamic version helpers.
KubeAPI image-set dynamics & infra-env tests
subsystem/kubeapi/*, subsystem/infra_env_test.go
Builds clusterImageSet names and image-set data at runtime from TestVersion() and updates tests to use dynamic image-set references and release image assertions; infra-env update and static-network-config tests use runtime versions and split cases by nmstatectl threshold.
Agent client & misc tests
subsystem/agent_based_installer_client_test.go, assorted tests
Extracts expected OpenShift version from clusterImageSet fixture via regex and adjusts tests to use the extracted/dynamic version.
Catalogs & manifests
config/manager/manager.yaml, config/samples/*, deploy/olm-catalog/*, deploy/podman/configmap.yml, openshift/template.yaml, data/default_os_images.json
Replaces OS_IMAGES and sample osImages with updated OpenShift/RHCOS image catalogs covering newer versions (4.20–5.0 pre-release entries) and applies minor JSON formatting adjustments.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • openshift/assisted-service#10392: Bumps release image entries in data/default_release_images.json, which affects the generated test version map consumed by the new generator.

Suggested reviewers

  • rccrdpccl
  • gamli75
🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.18% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title directly references the migration to the OCP version builder as shown in the comprehensive changeset across test files and configuration.
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 Ginkgo test names are stable and deterministic. No dynamic values (UUIDs, timestamps, pod names) appear in test titles. Test patterns use only static strings and constants.
Test Structure And Quality ✅ Passed Single responsibility in 34 tests, proper setup with withVersions() helper, BeforeEach/AfterEach cleanup, Eventually with timeouts, clear assertions, Skip() patterns implemented correctly.
Microshift Test Compatibility ✅ Passed PR adds only unit tests in internal/ packages, not e2e/subsystem tests. Unit tests use only ginkgo/gomega, no unavailable MicroShift APIs.
Single Node Openshift (Sno) Test Compatibility ✅ Passed All new tests have SNO compatibility protection via EnableKubeAPI guards or Skip() calls for version availability. Unit tests are not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR introduces only test infrastructure and data-only changes (OS_IMAGES lists). No scheduling constraints, affinity rules, nodeSelector, or topology assumptions added.
Ote Binary Stdout Contract ✅ Passed No violations detected. Process-level code uses only logrus (stderr), string methods, and data initializers; no fmt.Print/Println/Printf calls found at file scope or init().
Ipv6 And Disconnected Network Test Compatibility ✅ Passed New test file internal/common/test_versions_test.go contains no IPv4 hardcodes, IPv4-specific parsing, or external connectivity requirements. URLs referenced only in test assertions.
No-Weak-Crypto ✅ Passed No weak cryptography algorithms (MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB), custom crypto implementations, or non-constant-time secret comparisons detected in PR changes.
Container-Privileges ✅ Passed PR modifies only image configuration in manifests; no container privilege issues introduced. Modified files maintain secure security contexts.
No-Sensitive-Data-In-Logs ✅ Passed The PR contains no logging statements that expose sensitive data. New code logs only non-sensitive test version strings, architecture names, and constructs public URLs without credentials.
Description check ✅ Passed The PR description comprehensively covers changes, key modifications, testing status, and all required checklist items are completed.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

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

Copy link
Copy Markdown

@bluesort: No Jira issue with key MGTM-24398 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

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-robot

Copy link
Copy Markdown

@bluesort: No Jira issue with key MGTM-24398 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

Summary by CodeRabbit

  • Tests

  • Enhanced test infrastructure to dynamically manage OpenShift version selection across multiple architectures instead of using hardcoded values, improving test flexibility and coverage.

  • Chores

  • Updated build process to auto-generate test version data from available release images.

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
subsystem/feature_support_levels_test.go (1)

255-283: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Remove dynamic values from Ginkgo test names.

Lines 258 and 273 embed the OpenShift version string into the test name via fmt.Sprintf. Test names must be stable and deterministic; including runtime-derived versions violates the guideline and causes test names to change when version data is updated.

As per coding guidelines, Ginkgo test names must not contain "timestamps, random UUIDs, node names, namespace names with random suffixes, IP addresses, or any dynamic values that change between test runs."

🔧 Proposed fix: use stable test names

Replace the dynamic test names with stable descriptions that convey the test intent without embedding specific version strings:

-			It(fmt.Sprintf("GetSupportedFeatures x86 CPU architectrue, OCP version %s", version), func() {
+			It("GetSupportedFeatures x86 CPU architecture with available version", func() {
 				params = installer.GetSupportedFeaturesParams{
 					OpenshiftVersion: version,
 					CPUArchitecture:  swag.String(arch),
-			It(fmt.Sprintf("GetSupportedFeatures with empty CPU architectrue, OCP version %s", version), func() {
+			It("GetSupportedFeatures with empty CPU architecture and available version", func() {
 				response, err := utils_test.TestContext.UserBMClient.Installer.GetSupportedFeatures(ctx, &installer.GetSupportedFeaturesParams{OpenshiftVersion: version})

Alternatively, if you need to distinguish the test cases, use index-based names like "GetSupportedFeatures x86 CPU architecture - oldest version" and "GetSupportedFeatures x86 CPU architecture - latest version".

🤖 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 `@subsystem/feature_support_levels_test.go` around lines 255 - 283, The Ginkgo
It() test names embed a dynamic OpenShift version via fmt.Sprintf (see the two
It(...) calls using fmt.Sprintf and the variables
availableVersions/version/arch); replace those dynamic names with stable,
deterministic strings (e.g., "GetSupportedFeatures x86 CPU architecture" and
"GetSupportedFeatures with empty CPU architecture") or index-based variants,
removing fmt.Sprintf and any runtime version interpolation while leaving the
test bodies and variables (availableVersions, version, arch, params, response)
unchanged.
🧹 Nitpick comments (4)
internal/host/hostcommands/install_cmd_test.go (1)

181-189: 💤 Low value

Additional coverage for pre-4.15 behavior is acceptable.

The new test explicitly validates that EnableSkipMcoReboot is disabled for OpenShift 4.14. Note that the table-driven tests at lines 111-151 already cover this version boundary scenario (line 142), so this test provides redundant but harmless additional integration coverage.

🤖 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 `@internal/host/hostcommands/install_cmd_test.go` around lines 181 - 189, The
new spec "get_step_pre_4.15_skip_mco_reboot_disabled" is redundant with the
existing table-driven cases that already validate the 4.14 boundary; remove this
duplicate test or consolidate its expectations into the table-driven test to
avoid repetition — locate the test function named
get_step_pre_4.15_skip_mco_reboot_disabled and either delete it or merge its
assertions (the calls to mockValidator.GetHostInstallationPath,
mockGetReleaseImage, mockImages, installCmd.GetSteps, postvalidation, and
validateInstallCommand which assert EnableSkipMcoReboot behavior for "4.14")
into the existing table-driven block that exercises
GetSteps/validateInstallCommand.
internal/common/test_versions.go (1)

95-104: ⚖️ Poor tradeoff

Oldest()/Latest() depend on testVersionsByArch slices being pre-sorted ascending.

versions() returns the per-arch slice as-is and TryVersion treats v[0] as oldest and v[len-1] as latest. This is correct only because the generator emits versions sorted ascending. If the generated file is ever hand-edited or the generator's sort changes, selection silently breaks. Consider sorting in versions() (e.g. via version.Collection) to make the builder self-contained rather than relying on input ordering.

Also applies to: 148-163

🤖 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 `@internal/common/test_versions.go` around lines 95 - 104, The
TryVersion/Oldest/Latest behavior assumes per-arch slices in testVersionsByArch
are pre-sorted; make the builder robust by sorting in
TestVersionBuilder.versions before returning the slice (e.g., convert to a
version.Collection and call Sort or an equivalent sort helper) so TryVersion
(and Oldest()/Latest()) can safely use v[0]/v[len-1]; update
TestVersionBuilder.versions to return a sorted copy of the per-arch slice rather
than relying on the input order from testVersionsByArch.
hack/generate.sh (1)

132-163: 💤 Low value

Optional: write to a temp file to avoid leaving a corrupt generated file on failure.

The > "$output_file" redirection truncates the target before python3 runs. With set -o errexit, any Python error (e.g., malformed JSON, an entry missing the minor component so parts[1] raises IndexError) aborts the script after the file has already been emptied, leaving a broken test_versions_generated.go. Generating to a temp file and moving on success keeps the output atomic.

♻️ Suggested refactor
     python3 -c '
 ...
-}""" % "\n".join(lines))
-' > "$output_file"
-
-    gofmt -w "$output_file"
+}""" % "\n".join(lines))
+' > "${output_file}.tmp"
+
+    gofmt -w "${output_file}.tmp"
+    mv "${output_file}.tmp" "$output_file"
 }
🤖 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 `@hack/generate.sh` around lines 132 - 163, The script truncates "$output_file"
before running the embedded Python, so any Python failure leaves a corrupted
generated file; change the generation to write to a temporary file (e.g.,
mktemp), run the python3 block and gofmt against that temp file, then atomically
mv the temp to "$output_file" on success, and ensure cleanup on exit (trap) to
remove the temp on failure; reference the existing variables/data flow used in
the python3 block (data_file, output_file) so the temp replace logic wraps the
python3 > "$output_file" redirection and subsequent gofmt invocation.
subsystem/subsystem_suite_test.go (1)

41-55: 💤 Low value

Duplicate helper bodies for vipAutoAllocOpenshiftVersion and sdnNetworkTypeOpenshiftVersion.

Both functions are byte-identical (LessThan("4.15").TryVersion() + v + ".0", same skip message). Consider extracting a shared helper to avoid divergence, while keeping the two named call sites if they document distinct intents.

♻️ Proposed refactor
-func vipAutoAllocOpenshiftVersion() string {
-	v, ok := common.TestVersion().LessThan("4.15").TryVersion()
-	if !ok {
-		Skip("no available version below 4.15")
-	}
-	return v + ".0"
-}
-
-func sdnNetworkTypeOpenshiftVersion() string {
-	v, ok := common.TestVersion().LessThan("4.15").TryVersion()
-	if !ok {
-		Skip("no available version below 4.15")
-	}
-	return v + ".0"
-}
+func versionBelow415() string {
+	v, ok := common.TestVersion().LessThan("4.15").TryVersion()
+	if !ok {
+		Skip("no available version below 4.15")
+	}
+	return v + ".0"
+}
+
+func vipAutoAllocOpenshiftVersion() string  { return versionBelow415() }
+func sdnNetworkTypeOpenshiftVersion() string { return versionBelow415() }
🤖 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 `@subsystem/subsystem_suite_test.go` around lines 41 - 55, Extract the
duplicated logic in vipAutoAllocOpenshiftVersion and
sdnNetworkTypeOpenshiftVersion into a single shared helper (e.g.,
openshiftVersionBelow415) that calls
common.TestVersion().LessThan("4.15").TryVersion(), performs the same Skip("no
available version below 4.15") on !ok, and returns v + ".0"; then have
vipAutoAllocOpenshiftVersion and sdnNetworkTypeOpenshiftVersion simply call that
helper to preserve the two distinct named call sites and intent while avoiding
duplicated bodies.
🤖 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 `@subsystem/agent_based_installer_client_test.go`:
- Line 18: Replace the "// TODO: comment" placeholder with a concise Go doc
comment for the function versionFromClusterImageSet: describe its purpose,
inputs, outputs and any important behavior (e.g., how it derives a version from
a ClusterImageSet, expected return values and error conditions). Ensure the
comment starts with the function name "versionFromClusterImageSet" so it becomes
a proper Go doc string above that function; alternatively remove the TODO
entirely if you decide the function name is sufficiently self-explanatory.

In `@subsystem/cluster_test.go`:
- Around line 3730-3735: The test registers a cluster using
common.TestVersion().GreaterThanOrEqual("4.12").ReleaseVersion() which can panic
if no matching test version exists; wrap the version selection with TryVersion()
and call Skip(...) when TryVersion returns nil, then pass the found version's
ReleaseVersion() into models.ClusterCreateParams.OpenshiftVersion before calling
TestContext.UserBMClient.Installer.V2RegisterCluster; follow the existing
TryVersion() + Skip(...) pattern used elsewhere in this file to guard the
registration path.

In `@subsystem/kubeapi/kubeapi_test.go`:
- Around line 5543-5544: The test computes initialVersion :=
common.TestVersion().Oldest().Version() and updatedVersion :=
common.TestVersion().Version() and then asserts a URL change; if the dataset has
only a single version those two can be equal and the assertion will flake. Add a
guard around the URL-change assertion (or early return/Skip for the test) that
checks if initialVersion == updatedVersion and if so skips or short-circuits the
URL-change assertion; apply the same check where the test repeats the comparison
(the other occurrence around updatedVersion usage).
- Around line 138-144: Global var initialization eagerly calls
common.TestVersion().ForArch("arm64") and ForArch("multi") which can panic if
those arches are missing; move the imageSetNameArm/imageSetNameMulti and
imageSetsData construction out of package-level init into a guarded init() (or a
helper function) that calls common.TestVersion().ForArch(...) and checks for a
nil/missing result before using .Version()/.ReleaseImageURL(), only adding
entries for arches that exist; reference imageSetNameArm, imageSetNameMulti,
imageSetsData and common.TestVersion().ForArch in your change so the creation
becomes lazy/safe and avoids package-init panics.

---

Outside diff comments:
In `@subsystem/feature_support_levels_test.go`:
- Around line 255-283: The Ginkgo It() test names embed a dynamic OpenShift
version via fmt.Sprintf (see the two It(...) calls using fmt.Sprintf and the
variables availableVersions/version/arch); replace those dynamic names with
stable, deterministic strings (e.g., "GetSupportedFeatures x86 CPU architecture"
and "GetSupportedFeatures with empty CPU architecture") or index-based variants,
removing fmt.Sprintf and any runtime version interpolation while leaving the
test bodies and variables (availableVersions, version, arch, params, response)
unchanged.

---

Nitpick comments:
In `@hack/generate.sh`:
- Around line 132-163: The script truncates "$output_file" before running the
embedded Python, so any Python failure leaves a corrupted generated file; change
the generation to write to a temporary file (e.g., mktemp), run the python3
block and gofmt against that temp file, then atomically mv the temp to
"$output_file" on success, and ensure cleanup on exit (trap) to remove the temp
on failure; reference the existing variables/data flow used in the python3 block
(data_file, output_file) so the temp replace logic wraps the python3 >
"$output_file" redirection and subsequent gofmt invocation.

In `@internal/common/test_versions.go`:
- Around line 95-104: The TryVersion/Oldest/Latest behavior assumes per-arch
slices in testVersionsByArch are pre-sorted; make the builder robust by sorting
in TestVersionBuilder.versions before returning the slice (e.g., convert to a
version.Collection and call Sort or an equivalent sort helper) so TryVersion
(and Oldest()/Latest()) can safely use v[0]/v[len-1]; update
TestVersionBuilder.versions to return a sorted copy of the per-arch slice rather
than relying on the input order from testVersionsByArch.

In `@internal/host/hostcommands/install_cmd_test.go`:
- Around line 181-189: The new spec "get_step_pre_4.15_skip_mco_reboot_disabled"
is redundant with the existing table-driven cases that already validate the 4.14
boundary; remove this duplicate test or consolidate its expectations into the
table-driven test to avoid repetition — locate the test function named
get_step_pre_4.15_skip_mco_reboot_disabled and either delete it or merge its
assertions (the calls to mockValidator.GetHostInstallationPath,
mockGetReleaseImage, mockImages, installCmd.GetSteps, postvalidation, and
validateInstallCommand which assert EnableSkipMcoReboot behavior for "4.14")
into the existing table-driven block that exercises
GetSteps/validateInstallCommand.

In `@subsystem/subsystem_suite_test.go`:
- Around line 41-55: Extract the duplicated logic in
vipAutoAllocOpenshiftVersion and sdnNetworkTypeOpenshiftVersion into a single
shared helper (e.g., openshiftVersionBelow415) that calls
common.TestVersion().LessThan("4.15").TryVersion(), performs the same Skip("no
available version below 4.15") on !ok, and returns v + ".0"; then have
vipAutoAllocOpenshiftVersion and sdnNetworkTypeOpenshiftVersion simply call that
helper to preserve the two distinct named call sites and intent while avoiding
duplicated bodies.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 99616945-b4ae-4500-84a8-2072ab5f0785

📥 Commits

Reviewing files that changed from the base of the PR and between 3b239e5 and f6f45a2.

📒 Files selected for processing (24)
  • data/default_os_images.json
  • data/default_release_images.json
  • hack/Makefile
  • hack/generate.sh
  • internal/bminventory/inventory_test.go
  • internal/common/test_configuration.go
  • internal/common/test_versions.go
  • internal/common/test_versions_generated.go
  • internal/common/test_versions_test.go
  • internal/host/hostcommands/install_cmd_test.go
  • subsystem/agent_based_installer_client_test.go
  • subsystem/ams_subscriptions_test.go
  • subsystem/authz_test.go
  • subsystem/cluster_test.go
  • subsystem/cluster_v2_test.go
  • subsystem/feature_support_levels_test.go
  • subsystem/host_test.go
  • subsystem/infra_env_test.go
  • subsystem/kubeapi/kubeapi_suite_test.go
  • subsystem/kubeapi/kubeapi_test.go
  • subsystem/metrics_test.go
  • subsystem/operators_test.go
  • subsystem/subsystem_suite_test.go
  • subsystem/utils_test/subsystem_test_context.go
💤 Files with no reviewable changes (1)
  • subsystem/kubeapi/kubeapi_suite_test.go

Comment thread subsystem/agent_based_installer_client_test.go Outdated
Comment thread subsystem/cluster_test.go Outdated
Comment thread subsystem/kubeapi/kubeapi_test.go Outdated
Comment thread subsystem/kubeapi/kubeapi_test.go
@codecov

codecov Bot commented May 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 73.91304% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 43.88%. Comparing base (37e64f9) to head (a827339).
⚠️ Report is 6 commits behind head on master.

Files with missing lines Patch % Lines
internal/common/test_versions.go 73.91% 12 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #10412      +/-   ##
==========================================
- Coverage   44.35%   43.88%   -0.48%     
==========================================
  Files         420      420              
  Lines       73107    75195    +2088     
==========================================
+ Hits        32426    32998     +572     
- Misses      37744    39256    +1512     
- Partials     2937     2941       +4     
Files with missing lines Coverage Δ
internal/common/test_versions.go 79.28% <73.91%> (-6.86%) ⬇️

... and 11 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@openshift-ci-robot

Copy link
Copy Markdown

@bluesort: No Jira issue with key MGTM-24398 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

Summary by CodeRabbit

  • Tests

  • Test infrastructure now selects OpenShift/RHCOS versions dynamically across architectures, improving multi-arch and version-range coverage and making many subsystem/integration tests less brittle.

  • Updated test suites to exercise installer behaviors (VIPs, reboot flag handling) and to validate generated multi-arch/version mappings.

  • Chores

  • Build/regeneration process now produces up-to-date test version data and includes it in generation runs.

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-robot

Copy link
Copy Markdown

@bluesort: No Jira issue with key MGTM-24398 exists in the tracker at https://redhat.atlassian.net.
Once a valid jira issue is referenced in the title of this pull request, request a refresh with /jira refresh.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

Summary by CodeRabbit

  • Tests

  • Test infrastructure now selects OpenShift/RHCOS versions dynamically across architectures, reducing hardcoded versions and improving multi-arch and version-range coverage; many subsystem/integration tests updated accordingly.

  • Added coverage for installer behaviors (VIP handling, reboot flag) and a focused test suite for version-selection logic.

  • Chores

  • Generation workflow now emits up-to-date test-version data and runs it as part of standard generation.

  • Embedded OS image catalogs and sample manifests updated to newer OpenShift/RHCOS version ranges.

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.

@bluesort bluesort changed the title MGTM-24398: Migrate subsystem & default unit test config to OCP version builder MGMT-24398: Migrate subsystem & default unit test config to OCP version builder Jun 1, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 1, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 1, 2026

Copy link
Copy Markdown

@bluesort: This pull request references MGMT-24398 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 sub-task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Description TODO

Migrate subsystem & default unit test config to OCP version builder.

Pairs with the prior commit (MGMT-24397) which introduced the builder itself.

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

Summary by CodeRabbit

  • Tests

  • Test infrastructure now selects OpenShift/RHCOS versions dynamically across architectures, reducing hardcoded versions and improving multi-arch and version-range coverage; many subsystem/integration tests updated accordingly.

  • Added coverage for installer behaviors (VIP handling, reboot flag) and a focused test suite for version-selection logic.

  • Chores

  • Generation workflow now emits up-to-date test-version data and runs it as part of standard generation.

  • Embedded OS image catalogs and sample manifests updated to newer OpenShift/RHCOS version ranges.

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-robot

openshift-ci-robot commented Jun 1, 2026

Copy link
Copy Markdown

@bluesort: This pull request references MGMT-24398 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 sub-task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

/jira refresh

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.

@bluesort bluesort changed the title MGMT-24398: Migrate subsystem & default unit test config to OCP version builder MGMT-24398, MGMT-24399: Migrate test versions to OCP version builder Jun 1, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 1, 2026

Copy link
Copy Markdown

@bluesort: This pull request references MGMT-24398 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 sub-task to target the "5.0.0" version, but no target version was set.

This pull request references MGMT-24399 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 sub-task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

Migrates subsystem tests, default unit test configuration, and version-boundary tests to use the TestVersionBuilder introduced in MGMT-24397. This PR covers both MGMT-24398 and MGMT-24399 since they modify the same files and were combined for efficiency.

Problem

Tests across the codebase hardcode specific OCP version strings (e.g. "4.13", "4.14"). When those versions are pruned from the supported release/OS image lists (as happens on release branches), the tests break — not because of a real regression, but because they reference versions that no longer exist in the test environment.

Solution

OCP Test Version Builder (internal/common/test_versions.go)

A fluent builder that selects test versions dynamically from a generated map of available versions per architecture. Tests express intent (latest, oldest, >= 4.15, < 4.22, etc.) rather than pinning to specific strings:

// Non-version-specific: just needs any valid version
common.TestVersion().Version()

// Version-boundary: needs a version in a specific range, skips if unavailable
v, ok := common.TestVersion().GreaterThanOrEqual("4.22").TryVersion()
if !ok {
   Skip("no available version >= 4.22")
}

The version map (test_versions_generated.go) is code-generated from default_release_images.json via hack/generate.sh generate_test_versions, ensuring it stays in sync with whatever versions the service actually supports.

Changes

New files:

  • internal/common/test_versions.goTestVersionBuilder with constraint methods (LessThan, GreaterThanOrEqual, Exact, AvailableForArches, etc.) and output methods (Version, ReleaseVersion, ReleaseImageURL, TryVersion)
  • internal/common/test_versions_generated.go — Generated version-per-arch map
  • internal/common/test_versions_test.go — Unit tests for the builder

Modified:

  • internal/common/test_configuration.go — Default test config now derives all version fields from TestVersion().Latest() instead of hardcoded strings
  • subsystem/subsystem_suite_test.go — Removed hardcoded version variables; version-specific helpers (vipAutoAllocOpenshiftVersion, sdnNetworkTypeOpenshiftVersion, etc.) now use the builder with TryVersion/Skip
  • subsystem/utils_test/subsystem_test_context.go — Removed vipAutoAllocOpenshiftVersion field; RegisterCluster now takes an explicit version parameter
  • subsystem/*.go — ~15 subsystem test files migrated from hardcoded versions to builder calls
  • internal/bminventory/inventory_test.go, internal/host/hostcommands/install_cmd_test.go — Unit tests updated to use builder
  • hack/generate.sh — Added generate_test_versions function
  • hack/Makefile — Wired generate_test_versions into generation targets
  • data/default_os_images.json — Pruned EOL versions (4.9–4.19) to simulate release branch state and validate that tests survive pruning
  • Config/deploy files updated via generate_configuration to reflect the pruned OS images

List all the issues related to this PR

  • New Feature
  • Enhancement
  • Bug fix
  • Tests
  • Documentation
  • CI/CD

What environments does this code impact?

  • Automation (CI, tools, etc)
  • Cloud
  • Operator Managed Deployments
  • None

How was this code tested?

  • assisted-test-infra environment
  • dev-scripts environment
  • Reviewer's test appreciated
  • Waiting for CI to do a full test run
  • Manual (Elaborate on how it was tested)
  • No tests needed

Checklist

  • Title and description added to both, commit and PR.
  • Relevant issues have been associated (see CONTRIBUTING guide)
  • This change does not require a documentation update (docstring, docs, README, etc)
  • Does this change include unit-tests (note that code changes require unit-tests)

Reviewers Checklist

  • Are the title and description (in both PR and commit) meaningful and clear?
  • Is there a bug required (and linked) for this change?
  • Should this PR be backported?

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 added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 2, 2026
@bluesort bluesort force-pushed the mgmt-24398 branch 2 times, most recently from 4b041dd to 7139ac7 Compare June 3, 2026 13:46
@openshift-ci openshift-ci Bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jun 3, 2026
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 9, 2026
@bluesort bluesort force-pushed the mgmt-24398 branch 3 times, most recently from ffa5600 to dce36f2 Compare June 11, 2026 14:35
Comment thread hack/generate.sh
Comment thread internal/common/test_versions.go
@linoyaslan

Copy link
Copy Markdown
Contributor

Did you try running the tests with your changes in a scenario where some of the versions don't exist? If not, it would be good to test that

@linoyaslan

Copy link
Copy Markdown
Contributor

How do we ensure that future tests follow this approach instead of using hardcoded constants as we did before? Maybe some CI validation could help? though that might be overkill? need to think about that
It would also be nice to document this somewhere for contributors so the expected pattern is clear.

@bluesort

Copy link
Copy Markdown
Member Author

Did you try running the tests with your changes in a scenario where some of the versions don't exist? If not, it would be good to test that

I pruned versions down to the set required for release-ocm-2.17 to simulate a release branch to confirm test version boundary tests behave as expected. The PR description has a bit more context

@bluesort

Copy link
Copy Markdown
Member Author

How do we ensure that future tests follow this approach instead of using hardcoded constants as we did before? Maybe some CI validation could help? though that might be overkill? need to think about that It would also be nice to document this somewhere for contributors so the expected pattern is clear.

I'm adding documentation as a separate subtask and plan to add a dedicated subsystem test writing skill (similar to the existing unit testing one) to enforce the use of this pattern. I tend to think CI enforcement should be a last resort, so I'd like to see how much of an issue it is first

@bluesort bluesort force-pushed the mgmt-24398 branch 2 times, most recently from 7e017ee to 75e2885 Compare June 15, 2026 15:04
@bluesort

Copy link
Copy Markdown
Member Author

/retest

@linoyaslan

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 16, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 37e64f9 and 2 for PR HEAD 75e2885 in total

@bluesort

Copy link
Copy Markdown
Member Author

/test e2e-agent-compact-ipv4

@bluesort

Copy link
Copy Markdown
Member Author

/override ci/prow/e2e-agent-compact-ipv4

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown

@bluesort: Overrode contexts on behalf of bluesort: ci/prow/e2e-agent-compact-ipv4

Details

In response to this:

/override ci/prow/e2e-agent-compact-ipv4

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.

@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jun 16, 2026
This pairs with the prior commit (MGMT-24397) which introduced the builder itself.

Assisted-by: Claude Code <noreply@anthropic.com>
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 17, 2026
@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bluesort, linoyaslan

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:
  • OWNERS [bluesort,linoyaslan]

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 61a9f3c and 2 for PR HEAD a827339 in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 42dea13 and 1 for PR HEAD a827339 in total

@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown

@bluesort: all tests passed!

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.

@openshift-merge-bot openshift-merge-bot Bot merged commit dc5aca5 into openshift:master Jun 17, 2026
22 checks passed
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. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants