Skip to content

CNTRLPLANE-3863: add e2e v2 test flow document - #9151

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ironcladlou:v2-arch-docs
Aug 3, 2026
Merged

CNTRLPLANE-3863: add e2e v2 test flow document#9151
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ironcladlou:v2-arch-docs

Conversation

@ironcladlou

@ironcladlou ironcladlou commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Add a new e2e v2 test flow document which covers the system in detail at a multi-system level to facilitate architectural understanding.

Summary by CodeRabbit

  • Documentation
    • Added a new guide describing the HyperShift v2 end-to-end (E2E) test flow.
    • Documented how the CI test runner manages process boundaries, execution ordering (Ordered/Serial), lifecycle hooks, cleanup behavior, and reporting semantics.
    • Added cross-references to the new “Test Flow” page from related CI V2 testing documentation and updated the docs navigation.

@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

@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/needs-area labels Jul 28, 2026
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

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

Walkthrough

Adds comprehensive documentation for the HyperShift v2 E2E test flow, covering Ginkgo lifecycle and labels, process and cluster isolation, CI orchestration, ordered test groups, inter-process communication, teardown, exit-code handling, JUnit reporting, and links from related CI documentation.

Suggested reviewers: jparrill, muraee

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 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 PASS: The PR only adds docs, and the Ginkgo examples use static titles; no It/Describe/Context names include dynamic values.
Test Structure And Quality ✅ Passed PR changes only documentation files; no Ginkgo test code was modified, so this test-structure review is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Docs-only commit: all changed files are markdown/mkdocs navigation, with no manifests, operator code, or controllers altered.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS: The PR only adds/links documentation; no Go/e2e test code changed, so there are no new IPv4 or external-connectivity risks to flag.
No-Weak-Crypto ✅ Passed Docs-only PR; changed files contain no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB mentions, custom crypto, or secret-comparison code.
Container-Privileges ✅ Passed PR only changes Markdown docs and mkdocs nav; no container/K8s manifests or privileged/securityContext flags were added.
No-Sensitive-Data-In-Logs ✅ Passed Docs-only changes; scans found no passwords, tokens, PII, hostnames, or other sensitive data in touched files.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding a new e2e v2 test flow documentation page.
✨ 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.

@openshift-ci
openshift-ci Bot requested review from jparrill and muraee July 28, 2026 20:34
@openshift-ci openshift-ci Bot added area/documentation Indicates the PR includes changes for documentation and removed do-not-merge/needs-area labels Jul 28, 2026

@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: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/content/how-to/ci/v2-testing/test-flow.md`:
- Line 324: Update the process table entry for create-guests to hyphenate “pre
step” as “pre-step,” leaving the rest of the documentation unchanged.
- Around line 68-87: Update the fenced diagram block in the test-flow
documentation to declare the text language using a `text` fence, while
preserving all existing diagram content unchanged.
- Line 129: Rename the Mermaid participant alias from TE to TOIDC at
docs/content/how-to/ci/v2-testing/test-flow.md lines 129-129, then update all
corresponding dispatch and activation references at lines 209-210 and return and
deactivation references at lines 236-237; do not use THE, and run make
verify-codespell.
🪄 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: Pro Plus

Run ID: 9e41559a-9682-4d68-a30c-bacfa02df7ca

📥 Commits

Reviewing files that changed from the base of the PR and between 4b22cfd and 00bdf65.

📒 Files selected for processing (2)
  • docs/content/how-to/ci/v2-testing/test-flow.md
  • docs/mkdocs.yml

Comment thread docs/content/how-to/ci/v2-testing/test-flow.md Outdated
Comment thread docs/content/how-to/ci/v2-testing/test-flow.md Outdated
Comment thread docs/content/how-to/ci/v2-testing/test-flow.md
@ironcladlou
ironcladlou force-pushed the v2-arch-docs branch 2 times, most recently from 8f0f415 to 12aead2 Compare July 28, 2026 22:02
@ironcladlou ironcladlou changed the title WIP: add e2e v2 test flow document CNTRLPLANE-3863: add e2e v2 test flow document Jul 28, 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 Jul 28, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 28, 2026

Copy link
Copy Markdown

@ironcladlou: This pull request references CNTRLPLANE-3863 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.0.0" version, but no target version was set.

Details

In response to this:

🚧 WIP 🚧

Add more detailed v2 framework test design and flow docs

Summary by CodeRabbit

  • Documentation
  • Added a new guide describing the HyperShift v2 end-to-end (E2E) test flow.
  • Documented how the CI test runner coordinates process boundaries, execution ordering (Ordered/Serial), lifecycle hooks, cleanup behavior, and reporting semantics.
  • Added cross-references to the new “Test Flow” page from related CI V2 testing documentation and navigation.

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 removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 28, 2026

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

Do we want to add any information to this from our lessons learned about OTE, and what we can and cannot do to make the new v2 tests OTE compatible?

Comment on lines +39 to +41
In practice, since `run-tests` does not pass `--procs` to Ginkgo, all specs within
a process already run sequentially — but `Serial` makes the constraint explicit and
future-proof.

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.

OpenShift deliberately run their tests with a high level of parallelism (for parallel capable tests), almost as a stress test for the cluster. Is there any reason we aren't doing the same in HyperShift?

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 don't know why Ginkgo procs was left at 1 during the design of the v2 testing framework (maybe @csrwng or @bryan-cox knows?), but the fact that it has been serial since the beginning means I won't be surprised if it exposes issues with test isolation if we turn it on. I haven't tested it yet. Might just be another source of bug fixes that need made in anticipation of the OTE process isolation model that can be done in-place within the current framework

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.

Just some background on parallelism and stress testing: The parallelism we typically run at (30 tests concurrently) normally, a decision made as far as I can tell by gut feel many years ago, actually poses a lot of problems for us as we've (1) gotten better at detecting when tests are failing concurrently with a node being CPU pegged, and (2) ever increasing testing of more and more complex cluster wide features. I think this was a big part of the reason behind the historical belief that openshift tests are flaky (which they were) and the free re-try mechanism we used to give all e2e's.

In recent releases we have an ever growing list of blocks of tests being broken out to run separately at lower parallelization, down to 20 or even 10. It's looking more and more like a never ending and very vague trial and error process. As a stress test it can be frustrating as you can tell is regressions are real, if the product is slower, or if the tests run are different in semi-random buckets, and which of hundreds of concurrent tests might be causing the problem. (no one has been able to crack that yet)

I've been leaning more on our perfscale team which run stable and intense workloads and do deeper analysis, and trying to steer away from endless or borderline impossible debugging efforts when we see regressed tests correlated with high CPU load. I'd encourage parallelization for speed when the cluster can handle the resources, but it gets into the dark arts if you're going to try to use it for scale testing / regression analysis.

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.

Very interesting notes, thanks

| Label | Effect |
|-------|--------|
| **`lifecycle`** | Marks tests that mutate cluster state (upgrades, nodepool scaling, etcd chaos, global pull secret, OS image stream, autoscaling, platform-specific lifecycle). The simple [`hypershift-e2e-v2` CI chain][e2e-v2-chain] filters these out with `--ginkgo.label-filter='!lifecycle'` so that read-only compliance runs don't trigger mutations. The `run-tests` orchestrator runs lifecycle tests on dedicated clusters via specific label filters. |
| **`Informing`** | The custom [`InformingAwareFailHandler`][fail-handler] converts failures on specs with this label into skips. The test appears as "skipped" in JUnit XML rather than "failed", so it doesn't block the CI job. Used for tests validating optional or in-progress features (e.g., metrics forwarding, custom labels/tolerations). |

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.

Have you looked at how the openshift-tests(-extension) implements informing tests? I think rather than skips, it adds both the failed JUnit and a passing JUnit, which IIRC makes it so that Prow picks up the test as a flake (it looks like the test was retried and passed on the second attempt).

That might be better than skipped as I imagine there are genuine skips mixed in and we won't easily tell the difference?

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.

Yeah, I already made a targeted (end to end tested) targeted fix for this issue we could merge right now, I closed the previous PR since we didn't have a good sense of how viable OTE port would be in the short term. Now I think I should re-open a PR and get this data flowing from our existing tests.

Here's the fix:
main...ironcladlou:hypershift:ws/junit-informing

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.

Just for reference, my proposal to close the informing failures gap in the interim is here #9168


### Labels

| Label | Effect |

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.

Any semantics for platform choice or feature gating yet? Or defer until OTE provides that?

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 I understand the question correctly, I don't think that exists yet in the current form... platform gates and capability checks are handled at the spec level (i.e. within each It()) and the labels seem primarily used to enable the static "test group to cluster mapping" for a given platform (and the informing label).

@ironcladlou

Copy link
Copy Markdown
Contributor Author

@JoelSpeed

Do we want to add any information to this from our lessons learned about OTE, and what we can and cannot do to make the new v2 tests OTE compatible?

I thought about it but for this document I decided to make it self contained and purely descriptive of the architecture that exists in the context of its original design intent to avoid conflating/confusing content with speculative refactors to new architectures.

My hope is that by having an authoritative description of the current design at the appropriate level of detail it'll be something reliable to feed into analysis designed to synthesize the current design with speculative designs. In hindsight I think I should have produced this document first, and a similar one for OTE itself to drive the gap analysis

with each other: the [**`run-tests` orchestrator**][run-tests] isolates test groups
into separate OS processes targeting different clusters, and **within each process**,
Ginkgo decorators and hooks manage execution order, state mutation, cleanup, and
reporting semantics.

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.

Is this randomly assigned to diff clusters, or based on logic about the tests themselves, i.e. we can't combine some because they'll conflict?

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.

Answering my own Q, it does not look random, it's via labels and characteristics of the cluster. (private/public etc)

@ironcladlou ironcladlou Jul 29, 2026

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.

The decision making around how things are scheduled seems somewhat arbitrary to me (and like, wouldn't we want to run the upgrade (and all other platform & capability agnostic tests) against all cluster variants? The current strategy is to ultimately run each spec exactly once "somewhere" amongst the test clusters, and how those are scheduled is by hand and according to some I think under-specified rules. Maybe someone can correct me if I'm wrong (and again my intent here is to describe what actually exists today)


| Decorator | Purpose | Used by |
|-----------|---------|---------|
| **`Ordered`** | Specs in the container run in declaration order. If one fails, subsequent specs in the same container are skipped. Prevents dependent steps from running against corrupted state. | [BackupRestore, EtcdSnapshot][backup-restore-test], [EtcdChaos][etcd-chaos-test], [AzurePrivateLink, AzureEndpointAccess][azure-test], [PKI operator TLS modification][pki-test], [AdmissionPolicies][security-test], [ImageRegistryCapability][image-registry-test], [ExternalOIDCKeycloakAuth][external-oidc-test] |

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.

The bail out on failure could be confusing at times in our signal, it can manifest as a test that just stopped running, but that's almost invisible to those of us watching CI signal. I'd be curious how often this happens, is there any data on skip rates due to prior failures? I'm not sure sippy would even represent those skips in it's database, it's likely just manifesting as test runs that either pass, or don't appear at all.

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.

Good q, worth adding to our notes of potential gaps to follow up on assuming I've got the current behavior described accurately

| Decorator | Purpose | Used by |
|-----------|---------|---------|
| **`Ordered`** | Specs in the container run in declaration order. If one fails, subsequent specs in the same container are skipped. Prevents dependent steps from running against corrupted state. | [BackupRestore, EtcdSnapshot][backup-restore-test], [EtcdChaos][etcd-chaos-test], [AzurePrivateLink, AzureEndpointAccess][azure-test], [PKI operator TLS modification][pki-test], [AdmissionPolicies][security-test], [ImageRegistryCapability][image-registry-test], [ExternalOIDCKeycloakAuth][external-oidc-test] |
| **`Serial`** | Specs never run concurrently with other specs, even if Ginkgo parallel mode were enabled. Applied alongside `Ordered` when a test mutates shared cluster state that could interfere with other specs. | [BackupRestore, EtcdSnapshot][backup-restore-test] (separate binary), [PKI operator TLS modification][pki-test] |

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.

Are serial tests all combined in the same prow job runs as ordered/unordered tests? Are they run on specific clusters together?

The implications of how this was implemented are interesting for ocp as a whole, one job, multiple clusters, tests scheduled against each. This is not something I've seen elsewhere in our main signal jobs.

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 think the answer would be in the sequence diagram and the serial/parallel handling diagram, a group of specs is dispatched to a cluster, with no Ginkgo parallelism enabled, and the usual in-process Ginkgo ordering semantics apply

Comment on lines +39 to +41
In practice, since `run-tests` does not pass `--procs` to Ginkgo, all specs within
a process already run sequentially — but `Serial` makes the constraint explicit and
future-proof.

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.

Just some background on parallelism and stress testing: The parallelism we typically run at (30 tests concurrently) normally, a decision made as far as I can tell by gut feel many years ago, actually poses a lot of problems for us as we've (1) gotten better at detecting when tests are failing concurrently with a node being CPU pegged, and (2) ever increasing testing of more and more complex cluster wide features. I think this was a big part of the reason behind the historical belief that openshift tests are flaky (which they were) and the free re-try mechanism we used to give all e2e's.

In recent releases we have an ever growing list of blocks of tests being broken out to run separately at lower parallelization, down to 20 or even 10. It's looking more and more like a never ending and very vague trial and error process. As a stress test it can be frustrating as you can tell is regressions are real, if the product is slower, or if the tests run are different in semi-random buckets, and which of hundreds of concurrent tests might be causing the problem. (no one has been able to crack that yet)

I've been leaning more on our perfscale team which run stable and intense workloads and do deeper analysis, and trying to steer away from endless or borderline impossible debugging efforts when we see regressed tests correlated with high CPU load. I'd encourage parallelization for speed when the cluster can handle the resources, but it gets into the dark arts if you're going to try to use it for scale testing / regression analysis.

|-------|--------|
| **`lifecycle`** | Marks tests that mutate cluster state (upgrades, nodepool scaling, etcd chaos, global pull secret, OS image stream, autoscaling, platform-specific lifecycle). The simple [`hypershift-e2e-v2` CI chain][e2e-v2-chain] filters these out with `--ginkgo.label-filter='!lifecycle'` so that read-only compliance runs don't trigger mutations. The `run-tests` orchestrator runs lifecycle tests on dedicated clusters via specific label filters. |
| **`Informing`** | The custom [`InformingAwareFailHandler`][fail-handler] converts failures on specs with this label into skips. The test appears as "skipped" in JUnit XML rather than "failed", so it doesn't block the CI job. Used for tests validating optional or in-progress features (e.g., metrics forwarding, custom labels/tolerations). |
| **Feature/platform labels** (e.g., `self-managed-azure-public`, `nodepool-autoscaling`, `control-plane-upgrade`) | Control which specs run in which `test-e2e-v2` process. The [`run-tests` orchestrator][run-tests] passes `--ginkgo.label-filter` with non-overlapping label sets so each process only runs specs relevant to its assigned cluster variant. The label-to-cluster mapping is defined by [`TestMatrix`][azure-platform] in the platform config. |

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.

we have the convention of [FeatureGate:XYZ] in the test name in OCP used for feature gate promotion. Our tooling does not yet have knowledge of ginko labels, perhaps someday in the future it will though. Curious if hypershift has examples of FeatureGate in their test names or if these labels are all they're using.

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 think @devguyio has been asking similar questions about how we could/should be assigning metadata to our tests along feature lines, and I'm not sure re: feature gating (maybe @csrwng knows?)

@mgencur

mgencur commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

@ironcladlou Thanks for this.

@mgencur

mgencur commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

/retest

@mgencur

mgencur commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Hmm, the "Build Docs" should be passing now. It was fixed on main. Probably just needs a rebase.

@bryan-cox

Copy link
Copy Markdown
Member

/rebase

@mgencur maybe this will fix it 🤞🏻

@github-actions

Copy link
Copy Markdown

🤖 Rebasing PR onto main: workflow run

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 30, 2026
@ironcladlou

Copy link
Copy Markdown
Contributor Author

I pushed my own rebase the moment you tried to automate it

@openshift-ci openshift-ci Bot added area/ci-tooling Indicates the PR includes changes for CI or tooling area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/platform/aws PR/issue for AWS (AWSPlatform) platform labels Jul 30, 2026
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 30, 2026
@bryan-cox

Copy link
Copy Markdown
Member

I pushed my own rebase the moment you tried to automate it

@ironcladlou sorry 🤦🏻 ! I don't see the cancel button in the job that is running now to rebase.

@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-9151 July 30, 2026 11:44 Inactive
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-9151 July 30, 2026 11:57 Inactive
@ironcladlou

Copy link
Copy Markdown
Contributor Author

/retest

Comment thread docs/content/how-to/ci/v2-testing/test-flow.md
Comment thread docs/content/how-to/ci/v2-testing/test-flow.md
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-9151 July 30, 2026 17:03 Inactive
Describes the end-to-end flow of the HyperShift v2 e2e test framework,
covering process boundaries, inter-process communication, Ginkgo
lifecycle, and sequencing of mutually exclusive tests.
@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

@ironcladlou: The following test 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/security 4ea652c link true /test security

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.

@devguyio

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: devguyio, ironcladlou

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 Jul 30, 2026
@bryan-cox

Copy link
Copy Markdown
Member

/lgtm

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

Copy link
Copy Markdown
Contributor

Pipeline controller notification

No second-stage tests were triggered for this PR.

This can happen when:

  • The changed files don't match any pipeline_run_if_changed patterns
  • All files match pipeline_skip_if_only_changed patterns
  • No pipeline-controlled jobs are defined for the main branch

Use /test ? to see all available tests.

@ironcladlou

Copy link
Copy Markdown
Contributor Author

/retest

@ironcladlou

Copy link
Copy Markdown
Contributor Author

/verified by docs preview

@openshift-ci-robot

Copy link
Copy Markdown

@ironcladlou: This PR has been marked as verified by docs preview.

Details

In response to this:

/verified by docs preview

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 added the verified Signifies that the PR passed pre-merge verification criteria label Aug 3, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 31222dc into openshift:main Aug 3, 2026
21 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. area/ci-tooling Indicates the PR includes changes for CI or tooling area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/documentation Indicates the PR includes changes for documentation area/platform/aws PR/issue for AWS (AWSPlatform) platform 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. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants