Skip to content

NO-JIRA: Move "managementState: Removed" test to OTE#337

Open
jsafrane wants to merge 4 commits intoopenshift:mainfrom
jsafrane:move-removal-test
Open

NO-JIRA: Move "managementState: Removed" test to OTE#337
jsafrane wants to merge 4 commits intoopenshift:mainfrom
jsafrane:move-removal-test

Conversation

@jsafrane
Copy link
Copy Markdown
Contributor

@jsafrane jsafrane commented Apr 24, 2026

Move the test from "unit test" framework in test/e2e to OpenShift test extension in openshift-tests. I kept the test structure as close to the original code as possible, including magic Sleep() at the end.

Move the common code from the existing test to common.go

The old test in test/e2e needs to be removed in a subsequent PR.

Summary by CodeRabbit

  • New Features

    • Added an e2e helper to initialize cluster clients and provide a cancellable test timeout for end-to-end suites.
    • Added a conformance e2e test for vSphere storage operator removal that validates operator state transitions and includes automated recovery steps.
  • Refactor

    • vSphere hybrid environment tests now use the shared client/context helper for setup.

Move the test from "unit test" framework in test/e2e to OpenShift test
extension in openshift-tests.

Move the common code from the existing test to common.go
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 24, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@jsafrane: This pull request explicitly references no jira issue.

Details

In response to this:

Move the test from "unit test" framework in test/e2e to OpenShift test extension in openshift-tests.

Move the common code from the existing test to common.go

The test needs to be removed in a subsequent PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested review from dfajmon and dobsonj April 24, 2026 13:19
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 24, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 24, 2026

Walkthrough

Adds an exported E2E helper to build clientsets and a cancellable timeout context from the default kubeconfig, refactors hybrid environment setup to use this helper, and introduces a new vSphere CSI operator-removal conformance E2E test that drives ClusterCSIDriver management-state changes and asserts operator/resource removal and recovery.

Changes

vSphere CSI operator removal & client initialization

Layer / File(s) Summary
Client Initialization Helper
openshift-tests/e2e/common.go
New exported NewE2EClientsFromDefaultKubeconfig(userAgent string, testTimeout time.Duration) that loads the default kubeconfig (deferred non-interactive), sets InsecureSkipTLSVerify, builds a REST config with the provided user agent, constructs Kubernetes, Config, and Operator clientsets, and returns a context with timeout plus cancel function; returns err on kubeconfig/REST errors.
Refactor to use helper
openshift-tests/e2e/hybrid_environment.go
Replaces inline kubeconfig/REST/clientset construction and timeout context creation with a call to NewE2EClientsFromDefaultKubeconfig(hybridTestClient, testContextTimeout); removes local constants for storage CSI names/timeouts.
New Conformance Test
openshift-tests/e2e/operator_removal.go
Adds a serial [sig-storage][platform:vsphere] test that initializes clients via the helper; waits for ClusterOperator/storage to report Available=True, Progressing=False, Degraded=False; verifies vSphere ClusterCSIDriver is enabled and controller Deployment/node DaemonSet exist; updates ClusterCSIDriver.Spec.ManagementState=Removed; polls for VMwareVSphereControllerDisabled condition and deletion of controller Deployment and node DaemonSet; defers restoring ClusterCSIDriver to Managed and re-checking storage availability.
Manifest
go.mod
Module dependencies updated (reflected in go.mod).

Sequence Diagram(s)

sequenceDiagram
    participant Test as E2E Test
    participant KubeAPI as Kubernetes API
    participant ClusterOp as ClusterOperator/storage
    participant CSIDriver as ClusterCSIDriver
    participant Deployment as Deployment/DaemonSet

    Test->>KubeAPI: NewE2EClientsFromDefaultKubeconfig(userAgent, timeout)
    KubeAPI-->>Test: Clientsets + ctx

    Test->>ClusterOp: Poll for Available=True,Progressing=False,Degraded=False
    ClusterOp-->>Test: Ready

    Test->>CSIDriver: Read ClusterCSIDriver (enabled)
    CSIDriver-->>Test: Enabled

    Test->>CSIDriver: Update Spec.ManagementState=Removed
    CSIDriver-->>Test: Spec updated

    Test->>ClusterOp: Poll for VMwareVSphereControllerDisabled condition
    ClusterOp-->>Test: Condition true

    Test->>Deployment: Verify controller Deployment deleted
    Deployment-->>Test: Deleted

    Test->>Deployment: Verify node DaemonSet deleted
    Deployment-->>Test: Deleted

    Test->>CSIDriver: DeferCleanup -> set Spec.ManagementState=Managed
    CSIDriver-->>Test: Restored
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 9 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Test Structure And Quality ⚠️ Warning Debug artifact "JSAF" found at line 105 of operator_removal.go. This personal debug prefix should be removed before merge. Remove "JSAF " prefix from line 105 GinkgoWriter.Printf call. Change "JSAF ClusterCSIDriver:" to "ClusterCSIDriver:" as noted in review comments.
Microshift Test Compatibility ⚠️ Warning New test in operator_removal.go uses ClusterOperator (config.openshift.io/v1) and ClusterCSIDriver APIs unavailable on MicroShift. No protection mechanisms present. Add [apigroup:config.openshift.io] tag to test or [Skipped:MicroShift] label, or guard with exutil.IsMicroShiftCluster() check.
Title check ❓ Inconclusive The title 'NO-JIRA: Move "managementState: Removed" test to OTE' is vague and lacks specific context about what changes are being made. Consider clarifying the title to better describe the main changes, such as 'Extract e2e test helpers and move operator removal test to openshift-tests' to make the purpose clearer to reviewers.
✅ Passed checks (9 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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 Ginkgo test names in the PR are stable and deterministic. Test titles use static strings without any dynamic content, generated identifiers, timestamps, or values that could change between runs.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Test doesn't make multi-node assumptions. Deployment/DaemonSet checks and CSI operator removal work on SNO.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds only test files (openshift-tests/e2e/), not deployment manifests or operator code. No scheduling constraints are introduced. Existing manifests already use topology-safe soft affinity.
Ote Binary Stdout Contract ✅ Passed No OTE Binary Stdout Contract violations detected. All stdout writes are via GinkgoWriter within test blocks/helpers, no process-level stdout emission, no unhandled klog/fmt.Print at module level.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Test contains no IPv4 hardcoded addresses, IPv4-only parsing, or external network calls. Uses only cluster-internal Kubernetes APIs. IPv6-compatible and disconnected-safe.

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

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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

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

🧹 Nitpick comments (2)
openshift-tests/e2e/operator_removal.go (2)

105-131: Consider simplifying the return statements.

At lines 116 and 130, the nil checks (deployment != nil, daemonset != nil) are redundant. When Get succeeds (no error), the returned object is always non-nil. The code is correct but could be clearer.

♻️ Suggested simplification
 func checkForDeploymentCreation(ctx context.Context, kubeClient *kubernetes.Clientset) (bool, error) {
-	deployment, err := kubeClient.AppsV1().Deployments(csiDriverNameSpace).Get(ctx, csiControllerDeploymentName, metav1.GetOptions{})
+	_, err := kubeClient.AppsV1().Deployments(csiDriverNameSpace).Get(ctx, csiControllerDeploymentName, metav1.GetOptions{})
 	if apierrors.IsNotFound(err) {
 		GinkgoWriter.Printf("Deployment does not exist\n")
 		return false, nil
 	}
 	if err != nil {
 		GinkgoWriter.Printf("Unable to retrieve deployment: %v\n", err)
 		return false, err
 	}
-	return deployment != nil, nil
+	return true, nil
 }

Apply similar change to checkForDaemonset.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@openshift-tests/e2e/operator_removal.go` around lines 105 - 131, The helper
functions checkForDeploymentCreation and checkForDaemonset perform redundant nil
checks after successful Gets; replace the final "return deployment != nil, nil"
and "return daemonset != nil, nil" with an explicit "return true, nil" since a
successful Get (err == nil) guarantees a non-nil object, keeping the existing
error handling unchanged.

204-254: Minor logging clarity issue at line 250.

The log output uses double negatives (!notProgressing, !notDegraded) which can be confusing. Consider renaming variables or adjusting the log format for clarity.

♻️ Suggested improvement for clearer logging
 		conditions := clusterOperator.Status.Conditions
 		available := clusteroperatorhelpers.IsStatusConditionPresentAndEqual(conditions, configv1.OperatorAvailable, configv1.ConditionTrue)
-		notProgressing := clusteroperatorhelpers.IsStatusConditionPresentAndEqual(conditions, configv1.OperatorProgressing, configv1.ConditionFalse)
-		notDegraded := clusteroperatorhelpers.IsStatusConditionPresentAndEqual(conditions, configv1.OperatorDegraded, configv1.ConditionFalse)
-		done := available && notProgressing && notDegraded
+		progressing := clusteroperatorhelpers.IsStatusConditionPresentAndEqual(conditions, configv1.OperatorProgressing, configv1.ConditionTrue)
+		degraded := clusteroperatorhelpers.IsStatusConditionPresentAndEqual(conditions, configv1.OperatorDegraded, configv1.ConditionTrue)
+		done := available && !progressing && !degraded
 		...
-		GinkgoWriter.Printf("ClusterOperator/storage: Available: %v  Progressing: %v  Degraded: %v\n", available, !notProgressing, !notDegraded)
+		GinkgoWriter.Printf("ClusterOperator/storage: Available: %v  Progressing: %v  Degraded: %v\n", available, progressing, degraded)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@openshift-tests/e2e/operator_removal.go` around lines 204 - 254, The log
prints double-negatives which is confusing; in waitForStorageAvailable compute
positive flags (e.g., progressing := !notProgressing and degraded :=
!notDegraded) or rename the existing booleans, then change the
GinkgoWriter.Printf call to log available, progressing, degraded (using the new
variables) instead of using !notProgressing and !notDegraded so the output is
clear; update references to available, notProgressing, notDegraded accordingly
in that scope.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@openshift-tests/e2e/operator_removal.go`:
- Around line 79-84: The hardcoded time.Sleep(10 * time.Second) after
waitForStorageResourceRemoval makes the test flaky/slow; either remove it if
waitForStorageResourceRemoval already guarantees the desired state, or replace
it with an explicit wait using Gomega's Eventually (or equivalent) that checks
the concrete condition you need (e.g., resources absent, operator status stable)
and times out appropriately; if you truly must keep a pause, add a clear comment
explaining why and what specific race/propagation delay it mitigates. Reference:
remove/replace the time.Sleep call in the same block where
waitForStorageResourceRemoval(ctx, operatorClient, kubeClient) is invoked and
note that restoreStorage() runs via DeferCleanup.

---

Nitpick comments:
In `@openshift-tests/e2e/operator_removal.go`:
- Around line 105-131: The helper functions checkForDeploymentCreation and
checkForDaemonset perform redundant nil checks after successful Gets; replace
the final "return deployment != nil, nil" and "return daemonset != nil, nil"
with an explicit "return true, nil" since a successful Get (err == nil)
guarantees a non-nil object, keeping the existing error handling unchanged.
- Around line 204-254: The log prints double-negatives which is confusing; in
waitForStorageAvailable compute positive flags (e.g., progressing :=
!notProgressing and degraded := !notDegraded) or rename the existing booleans,
then change the GinkgoWriter.Printf call to log available, progressing, degraded
(using the new variables) instead of using !notProgressing and !notDegraded so
the output is clear; update references to available, notProgressing, notDegraded
accordingly in that scope.
🪄 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: 9ed4ab04-2195-4815-92e1-0511638eb0b7

📥 Commits

Reviewing files that changed from the base of the PR and between e91f95e and e3cedf8.

📒 Files selected for processing (3)
  • openshift-tests/e2e/common.go
  • openshift-tests/e2e/hybrid_environment.go
  • openshift-tests/e2e/operator_removal.go

Comment thread openshift-tests/e2e/operator_removal.go
@jsafrane jsafrane changed the title NO-JIRA: Move managementState: Removed test to OTE NO-JIRA: Move "managementState: Removed" test to OTE Apr 24, 2026

By("Marking ClusterCSIDriver as removed")
makeClusterCSIDriverRemoved(ctx, operatorClient)
GinkgoWriter.Printf("✓ ClusterCSIDriver marked as removed\n")
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.

I had some trouble logs to appear correctly with GinkgoWriter and CSO uses:

g.GinkgoLogr.Info("Created namespace with label", "namespace", nsObj.Name, "label", tc.namespaceLabel, "value", tc.namespaceLabelValue)

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.

It follows pattern established in #335

Copy link
Copy Markdown
Member

@gnufied gnufied Apr 27, 2026

Choose a reason for hiding this comment

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

Yes, IMO we should change all files to use GinkgoLogr, which is somewhat cleaner IMO.

@gnufied
Copy link
Copy Markdown
Member

gnufied commented Apr 27, 2026

I kept the test structure as close to the original code as possible, including magic Sleep() at the end.

I forgot why it exists. but with DeferCleanup being way better than existing thing, this may not be necessary.

@gnufied
Copy link
Copy Markdown
Member

gnufied commented Apr 28, 2026

/lgtm
/approve

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

openshift-ci Bot commented Apr 28, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gnufied, jsafrane

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

@jsafrane
Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial
it should be there, I think

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/9ab50c80-43c9-11f1-9e55-0645922153fc-0

@jsafrane
Copy link
Copy Markdown
Contributor Author

jsafrane commented May 4, 2026

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 4, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/6023da70-47d3-11f1-93a9-c7ed02f5ef46-0

CI showed just an endless wall of "ClusterOperator/storage: Available: true
Progressing: false  Degraded: false", but the test timed out waiting for
"Storage should be available".
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label May 5, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

New changes are detected. LGTM label has been removed.

@jsafrane
Copy link
Copy Markdown
Contributor Author

jsafrane commented May 5, 2026

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/cfcb3290-4875-11f1-879c-4b412895851e-0

@jsafrane
Copy link
Copy Markdown
Contributor Author

jsafrane commented May 5, 2026

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial openshift/origin#31124

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/feb5b540-4879-11f1-9b84-0bd24eaf093f-0

@jsafrane
Copy link
Copy Markdown
Contributor Author

jsafrane commented May 6, 2026

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial openshift/origin#31124

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 6, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/37759370-4936-11f1-9e56-9cae5cc88990-0

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: 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 `@openshift-tests/e2e/operator_removal.go`:
- Line 105: The debug log in GinkgoWriter.Printf currently includes a developer
prefix "JSAF" that should be removed; update the call to GinkgoWriter.Printf in
operator_removal.go (the invocation of GinkgoWriter.Printf("JSAF
ClusterCSIDriver: %s\n", string(obj))) to a cleaned, professional message such
as "ClusterCSIDriver: %s\n" (or another appropriate production log prefix) so
the debug artifact is not present in merged logs.
🪄 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: f7841e9a-24f0-413e-ae34-aa9973d8e7ad

📥 Commits

Reviewing files that changed from the base of the PR and between 9f1128d and 9744c20.

📒 Files selected for processing (1)
  • openshift-tests/e2e/operator_removal.go

GinkgoWriter.Printf("Unable to marshal ClusterCSIDriver: %v\n", err)
return clusterCSIDriverNotFound, err
}
GinkgoWriter.Printf("JSAF ClusterCSIDriver: %s\n", string(obj))
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove debug artifact before merge.

The log message contains what appears to be a developer prefix "JSAF" that should be removed before merging to keep logs clean and professional.

🧹 Suggested fix
-	GinkgoWriter.Printf("JSAF ClusterCSIDriver: %s\n", string(obj))
+	GinkgoWriter.Printf("ClusterCSIDriver: %s\n", string(obj))
📝 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
GinkgoWriter.Printf("JSAF ClusterCSIDriver: %s\n", string(obj))
GinkgoWriter.Printf("ClusterCSIDriver: %s\n", string(obj))
🤖 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 `@openshift-tests/e2e/operator_removal.go` at line 105, The debug log in
GinkgoWriter.Printf currently includes a developer prefix "JSAF" that should be
removed; update the call to GinkgoWriter.Printf in operator_removal.go (the
invocation of GinkgoWriter.Printf("JSAF ClusterCSIDriver: %s\n", string(obj)))
to a cleaned, professional message such as "ClusterCSIDriver: %s\n" (or another
appropriate production log prefix) so the debug artifact is not present in
merged logs.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 6, 2026

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

@jsafrane
Copy link
Copy Markdown
Contributor Author

jsafrane commented May 6, 2026

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial openshift/origin#31124

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 6, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/96558910-4952-11f1-97b0-fb3ae878c0e7-0

@jsafrane
Copy link
Copy Markdown
Contributor Author

jsafrane commented May 6, 2026

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial openshift/origin#31124

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 6, 2026

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

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-vsphere-ovn-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/d510caf0-4968-11f1-8c7c-279887907322-0

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

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants