Skip to content

CNTRLPLANE-3575: test(controlplane-component): verify setDefaultOptions preserves exis… - #8731

Merged
openshift-merge-bot[bot] merged 2 commits into
openshift:mainfrom
mgencur:CNTRLPLANE-3575_resource_limits
Jun 16, 2026
Merged

CNTRLPLANE-3575: test(controlplane-component): verify setDefaultOptions preserves exis…#8731
openshift-merge-bot[bot] merged 2 commits into
openshift:mainfrom
mgencur:CNTRLPLANE-3575_resource_limits

Conversation

@mgencur

@mgencur mgencur commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

…ting resource requirements

What this PR does / why we need it:

  • Adds unit tests for the resource preservation behavior in setDefaultOptions (defaults.go:159-164). Covers three scenarios: annotation-based overrides taking precedence over existing resources, full ResourceRequirements struct (Requests + Limits) surviving reconciliation, and manifest defaults kept when no existing resources are present.

Which issue(s) this PR fixes:

Fixes https://redhat.atlassian.net/browse/CNTRLPLANE-3575
The existing E2E test in openshift-tests-private is converted to a unit test in openshift/hypershift.

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • Tests
    • Expanded test coverage for control plane resource handling, including kube-apiserver and etcd scenarios: verifies resource override precedence, preserves existing container requests/limits when present, and keeps manifest-defined defaults when no existing resources are provided.
    • Added table-driven cases to validate multiple resource states and assertions are organized into clearer subtests.

@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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 12, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 12, 2026

Copy link
Copy Markdown

@mgencur: This pull request references CNTRLPLANE-3575 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

…ting resource requirements

What this PR does / why we need it:

  • Adds unit tests for the resource preservation behavior in setDefaultOptions (defaults.go:159-164). Covers three scenarios: annotation-based overrides taking precedence over existing resources, full ResourceRequirements struct (Requests + Limits) surviving reconciliation, and manifest defaults kept when no existing resources are present.

Which issue(s) this PR fixes:

Fixes https://redhat.atlassian.net/browse/CNTRLPLANE-3575
The existing E2E test in openshift-tests-private is converted to a unit test in openshift/hypershift.

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 commented Jun 12, 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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 51f33fdf-05bc-40c2-a2d8-2ed5ed9951a2

📥 Commits

Reviewing files that changed from the base of the PR and between 04c943c and 8029cb2.

📒 Files selected for processing (1)
  • support/controlplane-component/defaults_test.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • support/controlplane-component/defaults_test.go

📝 Walkthrough

Walkthrough

This PR updates TestSetDefaultOptions: it adds an imageprovider import and refactors the etcd SecurityContext assertions into a subtest. It introduces a table-driven kube-apiserver resources subtest that constructs a ReleaseImageProvider, builds a kube-apiserver Deployment with initial container Resources, calls controlPlaneWorkload.setDefaultOptions with varying existingResources (including nil), and asserts the resulting container Resources match the expected preservation or replacement behavior.

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding tests to verify that setDefaultOptions preserves existing resource requirements, which matches the PR's core objective of testing resource preservation behavior.
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 test names in defaults_test.go are static and deterministic with no dynamic values, generated suffixes, timestamps, UUIDs, or other volatile content that could change between runs.
Test Structure And Quality ✅ Passed PR contains standard Go unit tests (using testing package, t.Run, Gomega assertions), not Ginkgo tests. The custom check is specific to Ginkgo test code (It blocks, BeforeEach/AfterEach) and is...
Topology-Aware Scheduling Compatibility ✅ Passed This PR only adds unit tests to defaults_test.go, testing resource requirement preservation behavior. It does not modify deployment manifests, operator code, controllers, or introduce any schedulin...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR adds standard Go unit tests (not Ginkgo e2e tests), which are not subject to this check. The custom check explicitly applies only to Ginkgo e2e tests.
No-Weak-Crypto ✅ Passed The PR adds unit tests in defaults_test.go for resource preservation behavior. No weak crypto (MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB), custom crypto implementations, or non-constant-time secret...
Container-Privileges ✅ Passed PR adds unit tests only; no container security settings like privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN capabilities, or allowPrivilegeEscalation are introduced.
No-Sensitive-Data-In-Logs ✅ Passed PR contains no logging statements. The test file uses only Gomega assertions and test data with no sensitive data, passwords, tokens, API keys, PII, or internal hostnames.

✏️ 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 requested review from Nirshal and muraee June 12, 2026 11:18
@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release and removed do-not-merge/needs-area labels Jun 12, 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: 1

🤖 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 `@support/controlplane-component/defaults_test.go`:
- Around line 563-588: The test case "annotation override takes precedence over
existing resources" only asserts Requests are merged; to ensure Limits from
existingResources survive the annotation-override path, add a Limits field to
existingResources["kube-apiserver"] (e.g., set a Memory/CPU limit) and include
the identical Limits in expectedResources so the test verifies Limits are
preserved after setDefaultOptions/applyRequestsOverrides; update the test
vectors under existingResources and expectedResources accordingly to assert
Limits survive the override.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 09746984-52f5-4c83-b137-932ec57133ac

📥 Commits

Reviewing files that changed from the base of the PR and between 39f04eb and ff0b3cd.

📒 Files selected for processing (1)
  • support/controlplane-component/defaults_test.go

Comment thread support/controlplane-component/defaults_test.go Outdated
@codecov

codecov Bot commented Jun 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 41.68%. Comparing base (39f04eb) to head (8029cb2).
⚠️ Report is 19 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8731      +/-   ##
==========================================
+ Coverage   41.66%   41.68%   +0.02%     
==========================================
  Files         758      758              
  Lines       93929    93929              
==========================================
+ Hits        39135    39155      +20     
+ Misses      52046    52028      -18     
+ Partials     2748     2746       -2     

see 2 files with indirect coverage changes

Flag Coverage Δ
cmd-support 35.02% <ø> (+0.06%) ⬆️
cpo-hostedcontrolplane 44.00% <ø> (ø)
cpo-other 43.45% <ø> (ø)
hypershift-operator 51.65% <ø> (ø)
other 31.56% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@mgencur
mgencur force-pushed the CNTRLPLANE-3575_resource_limits branch 2 times, most recently from 2d5f8da to 908d369 Compare June 12, 2026 12:07
g.Expect(workloadObject.Spec.Template.Spec.SecurityContext.FSGroup).To(Equal(ptr.To(int64(1002))))
}

func TestSetDefaultOptionsPreservesExistingResources(t *testing.T) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

can we please make this test cases of the existing TestSetDefaultOptions?
fwiw we have also TestApplyRequestsOverrides

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.

OK

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.

Alright. I removed the annotation override test because it was already tested (it simply takes precedence no matter what the original values are).
Also put the remaining tests under TestSetDefaultOptions

…ting resource requirements

Adds unit tests for the resource preservation behavior in setDefaultOptions
(defaults.go:159-164). Covers three scenarios: annotation-based overrides
taking precedence over existing resources, full ResourceRequirements struct
(Requests + Limits) surviving reconciliation, and manifest defaults kept
when no existing resources are present.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mgencur
mgencur force-pushed the CNTRLPLANE-3575_resource_limits branch from 908d369 to 04c943c Compare June 12, 2026 13:16

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

🧹 Nitpick comments (1)
support/controlplane-component/defaults_test.go (1)

530-530: ⚡ Quick win

Standardize new subtest names to the required “When ... it should ...” format.

The new subtest titles don’t follow the mandated test-case naming pattern.

Proposed rename patch
-	t.Run("etcd sets SecurityContext with custom UID", func(t *testing.T) {
+	t.Run("When SetDefaultSecurityContext is enabled for etcd it should set RunAsUser and FSGroup to the custom UID", func(t *testing.T) {
...
-			name: "existing resources with both requests and limits are fully preserved",
+			name: "When existing resources include requests and limits it should preserve both",
...
-			name: "without existing resources container keeps its manifest defaults",
+			name: "When existing resources are absent it should keep manifest defaults",

As per coding guidelines, “Always use "When ... it should ..." format for describing test cases when creating unit tests.”

Also applies to: 563-563, 594-594

🤖 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 `@support/controlplane-component/defaults_test.go` at line 530, Rename the
subtest titles to follow the "When ... it should ..." naming convention: locate
the t.Run calls in defaults_test.go (e.g., the current subtest titled "etcd sets
SecurityContext with custom UID" and the other two at the same file around the
other reported lines) and change their names to the required pattern — for
example: "When etcd has a custom UID it should set SecurityContext with that
UID" — ensuring each t.Run string starts with "When" and contains "it should"
describing the expected behavior.

Source: Coding guidelines

🤖 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 `@support/controlplane-component/defaults_test.go`:
- Line 530: Rename the subtest titles to follow the "When ... it should ..."
naming convention: locate the t.Run calls in defaults_test.go (e.g., the current
subtest titled "etcd sets SecurityContext with custom UID" and the other two at
the same file around the other reported lines) and change their names to the
required pattern — for example: "When etcd has a custom UID it should set
SecurityContext with that UID" — ensuring each t.Run string starts with "When"
and contains "it should" describing the expected behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 190d5021-7ad2-47ec-9b1b-a798feb7d1ab

📥 Commits

Reviewing files that changed from the base of the PR and between 908d369 and 04c943c.

📒 Files selected for processing (1)
  • support/controlplane-component/defaults_test.go

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

Review

The tests are correct and cover the right behavior — existingResources overriding container defaults, and nil existingResources falling back to manifest defaults. Good refactoring of the existing etcd test into a named sub-test too.

Naming convention

Test case names should follow Gherkin When...it should... syntax per project convention:

Current Suggested
"existing resources with both requests and limits are fully preserved" "When existing resources with both requests and limits exist it should fully preserve them"
"without existing resources container keeps its manifest defaults" "When no existing resources are present it should keep manifest defaults"

Minor notes

  • imageProvider local variable shadows the imported package imageprovider — consider renaming to imgProvider or releaseProvider.
  • Consider adding t.Parallel() to sub-tests for consistency with other tests in this file.

Coverage suggestion (non-blocking)

  • Init containers aren't covered — applyRequestsOverrides handles both InitContainers and Containers (defaults.go:427–438). Adding a case with init containers would strengthen coverage.

expectedResources corev1.ResourceRequirements
}{
{
name: "existing resources with both requests and limits are fully preserved",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

plese use gherkin when it should convention

…d parallelism

Adopt Gherkin "When...it should..." convention for subtest names to match
TestApplyRequestsOverrides style. Add t.Parallel() to subtests and rename
imageProvider to releaseProvider to avoid shadowing the imported package.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@enxebre

enxebre commented Jun 15, 2026

Copy link
Copy Markdown
Member

thanks!
/approve

@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: enxebre, mgencur

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 Jun 15, 2026
@muraee

muraee commented Jun 15, 2026

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 15, 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-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-azure-v2-self-managed
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-gke

@mgencur

mgencur commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

@muraee @enxebre thanks!

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

AI Test Failure Analysis

Job: pull-ci-openshift-hypershift-main-e2e-aks | Build: 2066459324347060224 | Cost: $3.1707329999999994 | Failed step: hypershift-azure-run-e2e

View full analysis report


Generated by hypershift-analyze-e2e-failure post-step using Claude claude-opus-4-6

@cwbotbot

cwbotbot commented Jun 15, 2026

Copy link
Copy Markdown

Test Results

e2e-aws

e2e-aks

Failed Tests

Total failed tests: 5

  • TestNodePool
  • TestNodePool/HostedCluster0
  • TestNodePool/HostedCluster0/Main
  • TestNodePool/HostedCluster0/Main/TestNodePoolPrevReleaseN2
  • TestNodePool/HostedCluster0/Main/TestNodePoolPrevReleaseN3

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

AI Test Failure Analysis

Job: pull-ci-openshift-hypershift-main-e2e-aws | Build: 2066459324363837440 | Cost: $2.97906725 | Failed step: hypershift-aws-run-e2e-nested

View full analysis report


Generated by hypershift-analyze-e2e-failure post-step using Claude claude-opus-4-6

@hypershift-jira-solve-ci

hypershift-jira-solve-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Now I have the complete picture. Let me produce the final report.

Test Failure Analysis Complete

Job Information

Test Failure Analysis

Error

"e2e-azure-v2-self-managed" post steps failed:
- pod "e2e-azure-v2-self-managed-hypershift-k8sgpt" failed: dial tcp 20.236.233.113:7443: connect: connection refused
- pod "e2e-azure-v2-self-managed-destroy-guests" failed: failed to get hostedcluster: failed to get server groups: dial tcp 20.236.233.113:7443: connect: connection refused
- pod "e2e-azure-v2-self-managed-destroy-management-cluster" failed: Azure ResourceGroupDeletionBlocked - PrivateLinkService with private endpoint connections cannot be deleted

Summary

All 7 test suites (416 tests each across private, public, external-oidc, oauth-lb, upgrade, etcd-chaos, autoscaling) passed with zero failures. The job was marked as failed solely due to post-phase cleanup step failures that are completely unrelated to the PR's code changes. The self-managed management cluster's kube-apiserver at 20.236.233.113:7443 became unreachable between 12:35:15 and 12:35:41 UTC, causing the k8sgpt diagnostic step and guest cluster destruction step to fail. Subsequently, the management cluster resource group deletion on Azure failed because a PrivateLinkService still had active private endpoint connections, blocking resource group cleanup. This is an infrastructure/environment issue — not a product bug and not related to this PR.

Root Cause

The failure is an infrastructure-level issue in the CI post-phase cleanup, not a test failure. The root cause chain is:

  1. Management cluster API server went down: The self-managed HyperShift management cluster (hosted cluster 6ff4a9c36f-mgmt running on a CI cluster in AWS, with its kube-apiserver exposed at Azure IP 20.236.233.113:7443) became unreachable between 12:35:15 and 12:35:41 UTC. The dump step at 12:18–12:34 still had connectivity, but by the time hypershift-k8sgpt ran at 12:35, TCP connections were refused.

  2. Guest cluster destruction failed (destroy-guests): Because the management cluster API was down, the hypershift destroy cluster azure command could not look up HostedCluster resources for any of the 6 guest clusters (public, private, external-oidc, oauth-lb, upgrade, autoscaling), causing all 6 destroy operations to fail.

  3. Management cluster resource group deletion blocked (destroy-management-cluster): Azure returned ResourceGroupDeletionBlocked (HTTP 409) because a PrivateLinkService (pls-d2098c22-d566-467c-9b3a-5fd1d13477ea) still had active private endpoint connections from the undestroyed guest clusters. Azure requires deleting private endpoint connections before the PrivateLinkService, its associated NIC, and the internal load balancer (6ff4a9c36f-mgmt-internal) can be removed.

Key insight: The CI cluster itself (accessible via AWS ELB a2fb55450a1f4470aa86c1dc6cd7a133-179590118.us-east-1.elb.amazonaws.com:7443) remained healthy — the dump-management-cluster step successfully used it to collect diagnostics at 12:36–12:47. The issue is specifically with the self-managed management cluster's kube-apiserver endpoint on Azure going down, likely due to a transient Azure infrastructure issue or the management cluster's control plane becoming unhealthy after the test workload completed.

This failure is not related to PR #8731 which only adds a unit test for setDefaultOptions in the controlplane-component package.

Recommendations
  1. Rerun the job: This is a transient infrastructure failure in the post-phase cleanup. The actual test suite passed completely. A rerun should succeed.

  2. No code changes needed: PR CNTRLPLANE-3575: test(controlplane-component): verify setDefaultOptions preserves exis… #8731 adds test-only changes (test(controlplane-component): verify setDefaultOptions preserves existing values). The test phase completed successfully with all 7 test groups passing.

  3. CI infrastructure note: The destroy-guests step should ideally have a fallback path that can destroy Azure resources directly (via Azure API) when the management cluster API is unavailable, rather than requiring connectivity to the management cluster's kube-apiserver to look up HostedCluster resources. This would make cleanup more resilient to management cluster failures.

  4. Azure resource cleanup: The failed cleanup left orphaned Azure resources (6 guest clusters, management cluster resource group with PrivateLinkService). These may need manual cleanup if not handled by a cleanup job.

Evidence
Evidence Detail
Test phase result PASSED — "Step phase test succeeded after 1h22m2s" (line 89 of build-log.txt)
Test suites All 7 suites passed: private, external-oidc, oauth-lb, upgrade, etcd-chaos, autoscaling, public
Test counts 416 tests ran, 0 failed, 520 skipped per suite (from tests step build-log)
JUnit XML results 938 testcases per suite × 7 suites, zero <failure> or <error> elements in any test JUnit
finished.json {"passed":true,"result":"SUCCESS"} for the tests step
Failed phase Post phase only — "Step phase post failed after 50m10s" (line 192)
k8sgpt failure dial tcp 20.236.233.113:7443: connect: connection refused at 12:35:41 UTC
destroy-guests failure All 6 clusters failed to destroy — same connection refused error
destroy-management-cluster failure Azure ResourceGroupDeletionBlocked — PrivateLinkService has 1 private endpoint connection
API availability window API reachable at 12:34:24 (dump succeeded), unreachable by 12:35:41 (k8sgpt failed)
CI cluster health CI cluster (AWS ELB) remained healthy — dump-management-cluster succeeded at 12:36–12:47
PR relevance PR #8731 is test-only code — no product changes that could affect infrastructure

@celebdor

Copy link
Copy Markdown
Collaborator

/override "ci/prow/e2e-aks"
/override "ci/prow/e2e-aws"
/override "ci/prow/e2e-azure-v2-self-managed"
/override "ci/prow/e2e-kubevirt-aws-ovn-reduced"

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@celebdor: Overrode contexts on behalf of celebdor: ci/prow/e2e-aks, ci/prow/e2e-aws, ci/prow/e2e-azure-v2-self-managed, ci/prow/e2e-kubevirt-aws-ovn-reduced

Details

In response to this:

/override "ci/prow/e2e-aks"
/override "ci/prow/e2e-aws"
/override "ci/prow/e2e-azure-v2-self-managed"
/override "ci/prow/e2e-kubevirt-aws-ovn-reduced"

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.

@mgencur

mgencur commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

/verified by unit tests

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jun 16, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@mgencur: This PR has been marked as verified by unit tests.

Details

In response to this:

/verified by unit tests

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 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@mgencur: 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 f0536b8 into openshift:main Jun 16, 2026
41 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/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/hypershift-operator Indicates the PR includes changes for the hypershift operator and API - outside an OCP release 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.

6 participants