Skip to content

Make early request monitor test informing#31323

Open
jacobsee wants to merge 1 commit into
openshift:mainfrom
jacobsee:make-early-request-monitor-test-informing
Open

Make early request monitor test informing#31323
jacobsee wants to merge 1 commit into
openshift:mainfrom
jacobsee:make-early-request-monitor-test-informing

Conversation

@jacobsee

@jacobsee jacobsee commented Jun 23, 2026

Copy link
Copy Markdown
Member

Early requests have been occurring and have been uncaught due to an event emission error in KAS. Making it informing here (for now) allows us to keep collecting data on it but not block the event emission fix on an actual early request fix (both of which need to happen).

Summary by CodeRabbit

  • Tests
    • Updated test infrastructure to improve robustness of API server graceful termination validation.

Early requests have been occurring and have been uncaught due to an event emission error in KAS. Making it informing here (for now) allows us to keep collecting data on it but not block the event emission fix on an actual early request fix (both of which need to happen).
@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: automatic mode

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

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: 7c5cac65-7b9c-44e9-99da-62b553b1e85e

📥 Commits

Reviewing files that changed from the base of the PR and between b717a65 and 1ec8531.

📒 Files selected for processing (1)
  • test/extended/apiserver/graceful_termination.go

Walkthrough

A new import alias ote is added for the OpenShift tests extension Ginkgo helpers, and the API LBs "don't send request early" test registration is updated to pass ote.Informing() as an argument to g.It(...).

Graceful termination test update

Layer / File(s) Summary
Import ote and apply Informing label
test/extended/apiserver/graceful_termination.go
Adds ote import alias and adds ote.Informing() to the g.It(...) call for the API LBs early-request test. No other logic changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 13 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Microshift Test Compatibility ⚠️ Warning New test file references unavailable openshift-kube-apiserver namespace without MicroShift compatibility protections (no [Skipped:MicroShift], [apigroup:...], or IsMicroShiftCluster() checks). Add [Skipped:MicroShift] label to test names or guard tests with IsMicroShiftCluster() check, or add [apigroup:...] tag for unavailable API group.
Single Node Openshift (Sno) Test Compatibility ⚠️ Warning New test file adds 5 Ginkgo tests that iterate over master nodes without SNO compatibility checks. The "kubelet terminates kube-apiserver gracefully extended" test queries for nodes with "node-role... Add [Skipped:SingleReplicaTopology] label to tests that assume multiple or specifically-labeled nodes, or guard tests with exutil.IsSingleNode() check per SNO compatibility options provided in the custom check instructions.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: converting a test to informing mode, which aligns with the PR objective of making the early request monitor test informing rather than blocking.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 the modified file are stable, deterministic string literals with no dynamic content; no pod names, timestamps, UUIDs, node names, or other changing values appear in test titles.
Test Structure And Quality ✅ Passed Modified test meets all 5 quality requirements: single responsibility (checks NonReadyRequests only), proper setup/cleanup (read-only, no resources created), assertion messages (descriptive t.Error...
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies only a test file (test/extended/apiserver/graceful_termination.go), not deployment manifests, operator code, or controllers. No scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed No OTE Binary Stdout Contract violations found. The PR only adds ote.Informing() decorator to a test, which is a metadata object that doesn't write to stdout. No process-level stdout writes detected.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Custom check is for NEW Ginkgo tests; this PR only modifies an existing test by adding ote.Informing() parameter, not adding new tests.
No-Weak-Crypto ✅ Passed File contains no cryptographic code, weak crypto usage, custom crypto implementations, or insecure secret comparisons. Only test framework modifications present.
Container-Privileges ✅ Passed PR modifies only test code (graceful_termination.go), not container/K8s manifests. Container privilege check is not applicable to test code changes.
No-Sensitive-Data-In-Logs ✅ Passed The PR only adds ote.Informing() metadata label to a test; it doesn't introduce new logging or expose sensitive data like passwords, tokens, API keys, or PII.

✏️ 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.

@openshift-ci openshift-ci Bot requested review from deads2k and p0lyn0mial June 23, 2026 00:18
@openshift-ci

openshift-ci Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jacobsee
Once this PR has been reviewed and has the lgtm label, please assign mkowalski 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

@openshift-ci openshift-ci Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label Jun 23, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@jacobsee

Copy link
Copy Markdown
Member Author

/retest

@benluddy

Copy link
Copy Markdown
Contributor

The type assertion in https://github.com/openshift/kubernetes/pull/356/changes#diff-0f5f60e15dd9d3f03072c40e330d918d6afcb81144af5162f87741102e425566R123 has failed silently from the beginning because the type of the anonymous bound method stored in unexpectedRequestsEventf is distinct from the named type "eventfFunc", even though both types are functions with identical signatures. As a result, the event this monitor expects could never be emitted. This means the we have no valid history for the test in question as a baseline for comparison.

There's a release blocking issue to fix the early/unready requests that are now surfacing (https://redhat.atlassian.net/browse/OCPBUGS-86789), but I think it's reasonable to unblock the rebase by temporarily making the test non-blocking. It is effectively a new test.

/cc @p0lyn0mial @bertinatto

@openshift-ci openshift-ci Bot requested a review from bertinatto June 23, 2026 21:36
@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

@jacobsee: The following tests 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/e2e-gcp-ovn 1ec8531 link true /test e2e-gcp-ovn
ci/prow/e2e-metal-ipi-ovn-ipv6 1ec8531 link true /test e2e-metal-ipi-ovn-ipv6

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

ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants