Skip to content

MCO-2321: adapt osimagestream tests to handle clusters defaulting to rhel-10#6099

Open
sergiordlr wants to merge 1 commit into
openshift:mainfrom
sergiordlr:adapt_osimagestreams_to_rhel10_default
Open

MCO-2321: adapt osimagestream tests to handle clusters defaulting to rhel-10#6099
sergiordlr wants to merge 1 commit into
openshift:mainfrom
sergiordlr:adapt_osimagestreams_to_rhel10_default

Conversation

@sergiordlr
Copy link
Copy Markdown
Contributor

@sergiordlr sergiordlr commented May 28, 2026

- What I did

Modify the current osImageStream tests so that they are parameterized with the "initialStream" and the "targetStream".

With this modification, once OCP 5.0 defaults to rhel-10, the only change should be to configure the expected default stream in DefaultOSImageStream in the const.go and to swap the initial and target streams.

Current test cases are bound to change from rhel-9 to rhel-10. Should we create new test cases to test rhel10 to rhel-9? or should we just configure a generic test switching from the defaultstream to the non-default stream?

Generic test:

  • pro: we only have one test
  • cons: by saying that this test failed we don't know what's actually failing (rhel9 -> rhel10 or rhel10 -> rhel9?), we need extra information to understand the context.

- How to verify it

Tests should pass

Summary by CodeRabbit

  • Tests
    • Refactored OS image stream disruption tests to be parameterized and reusable across kernel and extension scenarios.
    • Added a helper to select extensions compatible across multiple OS image streams.
    • Enhanced validations to compute expected OS image stream values dynamically rather than using hardcoded checks.
    • Removed outdated pre-recovery assertions and updated skipped/disconnected test descriptions and recovery checks.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 28, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 28, 2026

@sergiordlr: This pull request references MCO-2321 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:

- What I did

Modify the current osImageStream tests so that they are parameterized with the "initialStream" and the "targetStream".

With this modification, once OCP 5.0 defaults to rhel-10, the only change should be to configure the expected default stream in DefaultOSImageStream in the const.go and to swap the initial and target streams.

Current test cases are bound to change from rhel-9 to rhel-10. Should we create new test cases to test rhel10 to rhel-9? or should we just configure a generic test switching from the defaultstream to the non-default stream?

Generic test:

  • pro: we only have one test
  • cons: by saying that this test failed we don't know what's actually failing (rhel9 -> rhel10 or rhel10 -> rhel9?), we need extra information to understand the context.

- How to verify it

Tests should pass

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-merge-bot
Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e17cb1a1-0989-4b12-97b3-4cd4464e4d25

📥 Commits

Reviewing files that changed from the base of the PR and between 3ff2e9e and 2055d5a.

📒 Files selected for processing (2)
  • test/extended-priv/machineconfigpool.go
  • test/extended-priv/mco_osimagestream.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • test/extended-priv/machineconfigpool.go
  • test/extended-priv/mco_osimagestream.go

Walkthrough

Refactors OSImageStream disruption tests to accept explicit initial and target streams, adds FilterExtensionsForStreams, extracts extension survivability into a helper, introduces ensureOsImageStream, and updates osImageURL tests to assert the computed effective stream after recovery.

Changes

OSImageStream test parameterization

Layer / File(s) Summary
FilterExtensionsForStreams helper
test/extended-priv/machineconfigpool.go
Added FilterExtensionsForStreams which composes FilterExtensions over multiple OSImageStreams and returns the final filtered extensions map, extension names, and package list.
Kernel call-site updates
test/extended-priv/mco_osimagestream.go
Realtime and 64k-pages kernel tests call testKernelTypeAcrossOSImageStreams with explicit initialStream and targetStream arguments.
osImageURL scenario adjustments
test/extended-priv/mco_osimagestream.go
Removed hardcoded rhel-9 preconditions and [Skipped:Disconnected] tag in disconnected/invalid osImageURL tests; compute expected stream via GetEffectiveOsImageStream(mcp) and assert mcp.GetStatusOsImageStream() after recovery.
validate/ensure helpers
test/extended-priv/mco_osimagestream.go
Dropped an initial exutil.By message and added ensureOsImageStream(mcp, stream) to compute and set the MCP effective stream when needed.
Kernel test helper refactor
test/extended-priv/mco_osimagestream.go
testKernelTypeAcrossOSImageStreams now accepts initial/target streams, validates and activates the initial stream, applies kernel MachineConfig, switches to target stream while verifying kernel remains active, then deletes kernel MachineConfig and verifies kernel deactivation and target stream status.
Extensions survivability helper extraction
test/extended-priv/mco_osimagestream.go, test/extended-priv/machineconfigpool.go
New testExtensionsAcrossOSImageStreams selects extensions compatible across streams (using FilterExtensionsForStreams), installs them on the initial stream via a temporary MachineConfig, switches to the target stream and verifies persistence, then removes the MachineConfig and asserts package uninstall and final stream status.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

lgtm, jira/valid-bug

Suggested reviewers

  • pablintino
  • dkhater-redhat
🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically identifies the main objective: adapting osImageStream tests to handle clusters defaulting to RHEL-10, which is the primary focus of the changeset.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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 8 test declarations (1 Describe, 7 It) contain only static, hardcoded strings with no dynamic values. Dynamic variables like testID are properly used only in test bodies, not in test names.
Test Structure And Quality ✅ Passed Helper functions are focused, proper cleanup via defers, cluster operations have explicit timeouts ("2m"/"5m"), assertions include meaningful messages with context for failures.
Microshift Test Compatibility ✅ Passed All 7 new tests have [apigroup:machineconfiguration.openshift.io] tags. MicroShift CI automatically skips tests with unavailable apigroup tags.
Single Node Openshift (Sno) Test Compatibility ✅ Passed SNO-aware helper functions properly detect SNO clusters via IsCompactOrSNOCluster checks and return master pool appropriately for topology-safe testing.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only test files (test/extended-priv/mco_osimagestream.go and machineconfigpool.go), not deployment manifests or operator code. No scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed Test files have no process-level stdout writes. No main(), init(), BeforeSuite(), or module-level code. FilterExtensionsForStreams has no I/O. Logging is test-scoped, intercepted by Ginkgo framework.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Tests use only internal cluster APIs with no IPv4 assumptions. The one test with external connectivity is properly labeled [Skipped:Disconnected].
No-Weak-Crypto ✅ Passed PR contains only test code refactoring for OS image streams; no weak crypto, custom crypto implementations, or unsafe secret comparisons detected.
Container-Privileges ✅ Passed PR changes are test files only (Go code), not container/K8s manifests. No privileged container specs introduced.
No-Sensitive-Data-In-Logs ✅ Passed Logging statements expose only non-sensitive test data (stream names, kernel types, node names, OS versions). No passwords, tokens, API keys, PII, or credentials found in any logger calls.

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

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@sergiordlr sergiordlr force-pushed the adapt_osimagestreams_to_rhel10_default branch from 8df19f3 to 7d33897 Compare May 28, 2026 12:25
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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/extended-priv/mco_osimagestream.go`:
- Around line 407-409: The defer cleanup() is called before checking err from
GetCompactCompatibleOrCustomPool which can cause a panic if cleanup is nil;
change the flow in the test so you first call
GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1), check
o.Expect(err).NotTo(o.HaveOccurred()) and only after the error assertion call
defer cleanup() (or nil-check cleanup before deferring) so cleanup is only
scheduled when the call succeeded.
- Around line 441-453: FilterExtensions currently returns extensions compatible
only with targetStream (called as FilterExtensions(AllExtenstions, ...,
targetStream)) which can break reverse-stream tests; call FilterExtensions for
both initialStream and targetStream (e.g., compatibleWithInitial :=
FilterExtensions(AllExtenstions, len(armNodes) > 0, fips, initialStream) and
compatibleWithTarget := FilterExtensions(..., targetStream)) and compute the
intersection to produce compatibleExtensions used for logging, for mc.parameters
(MarshalOrFail(compatibleExtensions)) and for creating the MachineConfig
(mc.create()); update the logger messages to reflect the intersection result so
installation uses only extensions supported on both streams.
🪄 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: 2df14b85-22b0-442b-a8ec-22babe2f13b3

📥 Commits

Reviewing files that changed from the base of the PR and between 78e9e0e and 8df19f3.

📒 Files selected for processing (1)
  • test/extended-priv/mco_osimagestream.go

Comment on lines +407 to +409
mcp, cleanup, err := GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1)
defer cleanup()
o.Expect(err).NotTo(o.HaveOccurred(), "Error getting pool for testing")
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot May 28, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Guard cleanup defer behind the error check.

defer cleanup() is scheduled before verifying err. If GetCompactCompatibleOrCustomPool fails and returns a nil cleanup function, this can panic on unwind and obscure the real failure.

Suggested fix
 mcp, cleanup, err := GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1)
-defer cleanup()
 o.Expect(err).NotTo(o.HaveOccurred(), "Error getting pool for testing")
+if cleanup != nil {
+	defer cleanup()
+}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
mcp, cleanup, err := GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1)
defer cleanup()
o.Expect(err).NotTo(o.HaveOccurred(), "Error getting pool for testing")
mcp, cleanup, err := GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1)
o.Expect(err).NotTo(o.HaveOccurred(), "Error getting pool for testing")
if cleanup != nil {
defer cleanup()
}
🤖 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/extended-priv/mco_osimagestream.go` around lines 407 - 409, The defer
cleanup() is called before checking err from GetCompactCompatibleOrCustomPool
which can cause a panic if cleanup is nil; change the flow in the test so you
first call GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1), check
o.Expect(err).NotTo(o.HaveOccurred()) and only after the error assertion call
defer cleanup() (or nil-check cleanup before deferring) so cleanup is only
scheduled when the call succeeded.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If the GetCompactCompatibleOrCustomPool returns an error and defer Cleanup is after Expect, then it will never be executed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@sergiordlr, you're absolutely right — that's a valid concern. In Ginkgo, o.Expect(err).NotTo(o.HaveOccurred()) triggers Fail() which panics, so any defer placed after it would never be registered if the assertion fires.

The fix that addresses both issues (nil-panic prevention and cleanup-on-failure guarantee) is to nil-check cleanup before the error assertion:

mcp, cleanup, err := GetCompactCompatibleOrCustomPool(oc.AsAdmin(), 1)
if cleanup != nil {
    defer cleanup()
}
o.Expect(err).NotTo(o.HaveOccurred(), "Error getting pool for testing")

This way:

  • cleanup is deferred before any panic can occur, so it runs on all exit paths.
  • The nil guard prevents a panic if GetCompactCompatibleOrCustomPool returns a nil cleanup on error.

Apologies for the incomplete fix in the original suggestion.


🧠 Learnings used
Learnt from: HarshwardhanPatil07
Repo: openshift/machine-config-operator PR: 6034
File: test/extended-priv/mco_security.go:1011-1015
Timestamp: 2026-05-13T07:41:05.710Z
Learning: In the extended-priv Go/Ginkgo test suite, it’s safe to use synchronous `o.Expect` assertions on node state immediately after calling `mc.create()`.

Reason: `MachineConfig.create()` internally waits for the MachineConfigPool to complete (`mcp.waitForComplete()`) before returning unless `mc.skipWaitForMcp` is explicitly set to `true`. It also adjusts wait timeouts when extensions are present (`HasExtensionsSafe()`) or when kernel type changes (`GetKernelTypeSafe()`).

So, for node-state checks placed directly after `mc.create()` (and with `skipWaitForMcp` not enabled), you should not require `o.Eventually` for correctness. If `mc.skipWaitForMcp` is set to `true`, then `o.Eventually` may be needed.

Learnt from: ptalgulk01
Repo: openshift/machine-config-operator PR: 6081
File: test/extended-priv/mco_layering.go:932-1078
Timestamp: 2026-05-25T15:37:54.265Z
Learning: In this repository, for migration PRs that port existing tests from openshift-tests-private into this codebase (e.g., OS layering tests landing under test/extended-priv), keep the PR strictly focused on migrating the test logic. Do not add new conditional guards, skip logic, or supporting infrastructure/checks (for example, MicroShift-related skip checks) as part of the migration—those should be handled in separate follow-up PRs.

Comment thread test/extended-priv/mco_osimagestream.go Outdated
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

@sergiordlr sergiordlr force-pushed the adapt_osimagestreams_to_rhel10_default branch from 7d33897 to 511442a Compare May 28, 2026 14:21
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
test/extended-priv/machineconfigpool.go (1)

1496-1502: ⚡ Quick win

Guard FilterExtensionsForStreams against empty osImageStreams (panic on osImageStreams[len-1])

FilterExtensionsForStreams unconditionally indexes osImageStreams[len(osImageStreams)-1], which would panic if ever called with zero streams. Current call sites pass at least two streams (initialStream, targetStream), so this path isn’t hit today; add a len(osImageStreams)==0 early return if the helper can be reused with no args.

🤖 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/extended-priv/machineconfigpool.go` around lines 1496 - 1502, The
function FilterExtensionsForStreams can panic when osImageStreams is empty
because it indexes osImageStreams[len(osImageStreams)-1]; add an early guard at
the top of FilterExtensionsForStreams that checks if len(osImageStreams) == 0
and returns the unmodified extensions plus nil (or empty) second and third
return slices (e.g., return filtered, nil, nil) to avoid the panic and preserve
current semantics.
🤖 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.

Nitpick comments:
In `@test/extended-priv/machineconfigpool.go`:
- Around line 1496-1502: The function FilterExtensionsForStreams can panic when
osImageStreams is empty because it indexes
osImageStreams[len(osImageStreams)-1]; add an early guard at the top of
FilterExtensionsForStreams that checks if len(osImageStreams) == 0 and returns
the unmodified extensions plus nil (or empty) second and third return slices
(e.g., return filtered, nil, nil) to avoid the panic and preserve current
semantics.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b0ba31eb-7f1a-4b27-af5d-18902d7a8d6a

📥 Commits

Reviewing files that changed from the base of the PR and between 7d33897 and 511442a.

📒 Files selected for processing (2)
  • test/extended-priv/machineconfigpool.go
  • test/extended-priv/mco_osimagestream.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/extended-priv/mco_osimagestream.go

@sergiordlr sergiordlr force-pushed the adapt_osimagestreams_to_rhel10_default branch from 511442a to 3ff2e9e Compare May 28, 2026 14:36
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

@sergiordlr sergiordlr force-pushed the adapt_osimagestreams_to_rhel10_default branch from 3ff2e9e to 0fc1614 Compare May 28, 2026 15:08
@sergiordlr
Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-aws-mco-disruptive-techpreview-1of3 periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-aws-mco-disruptive-techpreview-2of3 periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-aws-mco-disruptive-techpreview-3of3

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 28, 2026

@sergiordlr: trigger 3 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-aws-mco-disruptive-techpreview-1of3
  • periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-aws-mco-disruptive-techpreview-2of3
  • periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-aws-mco-disruptive-techpreview-3of3

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/85b7ce90-5aa7-11f1-9d70-b47ce184751f-0

@pablintino
Copy link
Copy Markdown
Contributor

I'm fine with the approach, but I was expecting the initial/target streams to be computed with the initial state of the cluster and not hard-coded.

@sergiordlr
Copy link
Copy Markdown
Contributor Author

/retest

Comment on lines +407 to +411
exutil.By(fmt.Sprintf("Verify %s and %s streams are available", initialStream, targetStream))
o.Eventually(osis.GetAvailableStreamNames, "2m", "20s").Should(o.ContainElements(initialStream, targetStream),
"Both streams '%s' and '%s' should be available", initialStream, targetStream)
logger.Infof("Both %s and %s streams are available", initialStream, targetStream)
logger.Infof("OK!\n")
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.

How about creating a func for verifying available stream, since in my PR and existing TC I think we check is stream is present or not

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is only one instruction and a debug message. I would prefer not to create a function with one instruction and a debug log.

Comment on lines +329 to 333
exutil.By(fmt.Sprintf("Verify %s and %s streams are available", initialStream, targetStream))
o.Eventually(osis.GetAvailableStreamNames, "2m", "20s").Should(o.ContainElements(initialStream, targetStream),
"Both streams '%s' and '%s' should be available", initialStream, targetStream)
logger.Infof("Both %s and %s streams are available", initialStream, targetStream)
logger.Infof("OK!\n")
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.

same here

Comment thread test/extended-priv/mco_osimagestream.go Outdated
Comment on lines +422 to +435
exutil.By(fmt.Sprintf("Check current osImageStream and configure %s if necessary", initialStream))
currentStream, err := GetEffectiveOsImageStream(mcp)
o.Expect(err).NotTo(o.HaveOccurred(), "Error getting effective osImageStream from %s", mcp)
logger.Infof("Current stream: '%s'", currentStream)

if currentStream != initialStream {
logger.Infof("Configuring osImageStream to '%s' in %s", initialStream, mcp)
o.Expect(mcp.SetOsImageStream(initialStream)).To(o.Succeed(), "Error setting osImageStream to '%s' in %s", initialStream, mcp)
mcp.waitForComplete()
logger.Infof("OK!\n")
} else {
logger.Infof("%s is already using %s stream", mcp, initialStream)
logger.Infof("OK!\n")
}
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.

should we create func for this since I see it is repeating in testKernelTypeAcrossOSImageStreams() func too

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I added a new function to encapsulate this code.

Thank you!!

@sergiordlr sergiordlr changed the title MCO-2321: adapt osimagestream tests to clusters defaulting to rhel-10 MCO-2321: adapt osimagestream tests to handle clusters defaulting to rhel-10 May 29, 2026
@sergiordlr sergiordlr force-pushed the adapt_osimagestreams_to_rhel10_default branch from 0fc1614 to 2055d5a Compare May 29, 2026 12:29
@sergiordlr
Copy link
Copy Markdown
Contributor Author

/retest

@ptalgulk01
Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 29, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-upgrade
/test e2e-gcp-op-ocl-part1
/test e2e-gcp-op-ocl-part2
/test e2e-gcp-op-part1
/test e2e-gcp-op-part2
/test e2e-gcp-op-single-node
/test e2e-hypershift

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 29, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ptalgulk01, sergiordlr
Once this PR has been reviewed and has the lgtm label, please assign pablintino for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@sergiordlr
Copy link
Copy Markdown
Contributor Author

/test unit

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 29, 2026

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants