Skip to content

WIP: do-not-merge: UPSTREAM: <carry>: introduce delay in the post-start hooks - #2760

Draft
jacobsee wants to merge 1 commit into
openshift:masterfrom
jacobsee:test-unexpected-request-event-emission-5
Draft

jacobsee wants to merge 1 commit into
openshift:masterfrom
jacobsee:test-unexpected-request-event-emission-5

Conversation

@jacobsee

@jacobsee jacobsee commented Aug 26, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Bug Fixes
    • Improved aggregator API server startup readiness behavior.
    • Added a brief pre-ready window to allow readiness checks before the server reports ready.
    • Startup now exits promptly if the server is canceled.

UPSTREAM: <carry>: tmp commit to prove issue - i could be doing something fun right now but i am not

try a full 60s instead
@openshift-merge-bot

Copy link
Copy Markdown

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 backports/unvalidated-commits Indicates that not all commits come to merged upstream PRs. label Aug 26, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 26, 2026
@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci-robot

Copy link
Copy Markdown

@jacobsee: the contents of this pull request could not be automatically validated.

The following commits could not be validated and must be approved by a top-level approver:

Comment /validate-backports to re-evaluate validity of the upstream PRs, for example when they are merged upstream.

@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jacobsee

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 Aug 26, 2026
@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/9ea7d170-a106-11f1-82ed-9777b7fc870f-0

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 26e85fe7-f465-4493-862e-97f6c776494f

📥 Commits

Reviewing files that changed from the base of the PR and between 7b29fb0 and e7ede12.

📒 Files selected for processing (1)
  • pkg/controlplane/apiserver/aggregator.go

Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review.


Walkthrough

The aggregator API server now delays readiness for up to 60 seconds after startup. The delay ends early when the server context is canceled.

Changes

Aggregator readiness

Layer / File(s) Summary
Readiness delay hook
pkg/controlplane/apiserver/aggregator.go
The aggregator API server registers the prove-pre-ready-window post-start hook. The hook delays readiness for up to 60 seconds or until shutdown cancellation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to e7ede

No actionable merge-blocking risk remains based on the supplied evidence; the change is ready for normal checks and review.

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: introducing a delay in the post-start hooks. The WIP and upstream metadata adds noise, but it does not make the title misleading.
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 pull request changes only pkg/controlplane/apiserver/aggregator.go. The diff adds a time import and a post-start hook named prove-pre-ready-window; it adds no Ginkgo test declarations …
Test Structure And Quality ✅ Passed PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go (+17 lines). The patch adds a production post-start hook and time import; it adds no Ginkgo test file, It block, asse…
Microshift Test Compatibility ✅ Passed PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go (+17 lines). The diff adds a time import and an aggregator post-start readiness-delay hook. It adds no Ginkgo declarati…
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: The pull request adds no Ginkgo e2e tests. The exact diff changes only pkg/controlplane/apiserver/aggregator.go, adding a time import and an aggregator post-start hook. Therefore, the SNO mu…
Topology-Aware Scheduling Compatibility ✅ Passed PASS: The commit changes only pkg/controlplane/apiserver/aggregator.go. The added code imports time and registers a 60-second post-start hook that waits or exits on context cancellation. It adds n…
Ote Binary Stdout Contract ✅ Passed PASS. The exact pull-request diff changes only pkg/controlplane/apiserver/aggregator.go: it adds time and a post-start hook that waits on a timer or context cancellation. The new code has no `fmt.…
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go (+17 lines). The diff adds a time import and a post-start hook that waits or exits on context cancellation. It adds no …
No-Weak-Crypto ✅ Passed PASS. The pull-request diff adds only a time import and a cancellable 60-second post-start hook in pkg/controlplane/apiserver/aggregator.go. The changed code does not use MD5, SHA1, DES, RC4, 3DES…
Container-Privileges ✅ Passed PASS: The commit changes only pkg/controlplane/apiserver/aggregator.go. It adds a Go post-start hook and a time import. The diff adds no container or Kubernetes manifest and introduces none of `pr…
No-Sensitive-Data-In-Logs ✅ Passed PASS: The pull request adds only a time import and a post-start hook that waits or exits on context cancellation. It adds no logging calls and does not log passwords, tokens, API keys, PII, session …
Full details: Stable And Deterministic Test Names

Explanation

PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go. The diff adds a time import and a post-start hook named prove-pre-ready-window; it adds no Ginkgo test declarations or test titles. Therefore, the check finds no unstable or overly specific test name introduced by this pull request.

Full details: Test Structure And Quality

Explanation

PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go (+17 lines). The patch adds a production post-start hook and time import; it adds no Ginkgo test file, It block, assertion, cluster operation, Eventually, or Consistently call. Therefore, the stated test-structure requirements are not applicable.

Full details: Microshift Test Compatibility

Explanation

PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go (+17 lines). The diff adds a time import and an aggregator post-start readiness-delay hook. It adds no Ginkgo declarations or e2e test files, so the MicroShift test compatibility check is not applicable.

Full details: Single Node Openshift (Sno) Test Compatibility

Explanation

PASS: The pull request adds no Ginkgo e2e tests. The exact diff changes only pkg/controlplane/apiserver/aggregator.go, adding a time import and an aggregator post-start hook. Therefore, the SNO multi-node test compatibility check is not applicable.

Full details: Topology-Aware Scheduling Compatibility

Explanation

PASS: The commit changes only pkg/controlplane/apiserver/aggregator.go. The added code imports time and registers a 60-second post-start hook that waits or exits on context cancellation. It adds no deployment manifest, replica logic, affinity, topology spread, node selector, toleration, taint, or PDB constraint. Therefore, it does not introduce any topology-incompatible scheduling assumption.

Full details: Ote Binary Stdout Contract

Explanation

PASS. The exact pull-request diff changes only pkg/controlplane/apiserver/aggregator.go: it adds time and a post-start hook that waits on a timer or context cancellation. The new code has no fmt.Print*, log.Print*, os.Stdout, Ginkgo output, or logging call. The existing klog calls were not changed. This code serves kube-apiserver, not an OTE binary.

Full details: Ipv6 And Disconnected Network Test Compatibility

Explanation

PASS: The pull request changes only pkg/controlplane/apiserver/aggregator.go (+17 lines). The diff adds a time import and a post-start hook that waits or exits on context cancellation. It adds no Ginkgo It, Describe, Context, or When test, and it adds no network address, URL, registry, or external connectivity requirement. The custom check is therefore not applicable.

Full details: No-Weak-Crypto

Explanation

PASS. The pull-request diff adds only a time import and a cancellable 60-second post-start hook in pkg/controlplane/apiserver/aggregator.go. The changed code does not use MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB mode, custom cryptography, or non-constant-time secret/token comparisons.

Full details: Container-Privileges

Explanation

PASS: The commit changes only pkg/controlplane/apiserver/aggregator.go. It adds a Go post-start hook and a time import. The diff adds no container or Kubernetes manifest and introduces none of privileged: true, hostPID, hostNetwork, hostIPC, SYS_ADMIN, root execution, or allowPrivilegeEscalation: true.

Full details: No-Sensitive-Data-In-Logs

Explanation

PASS: The pull request adds only a time import and a post-start hook that waits or exits on context cancellation. It adds no logging calls and does not log passwords, tokens, API keys, PII, session IDs, hostnames, or customer data. Existing logs in aggregator.go are unchanged.

  • Fix all pre-merge checks with AI
✨ 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 commented Aug 26, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/61418f70-a178-11f1-89c3-8f2b97146e67-0

@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-4.22-e2e-metal-ipi-ovn-ipv6

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/8a0bfff0-a194-11f1-86df-f06a1518e6eb-0

@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/97fc6b90-a194-11f1-9975-333e7fcdd633-0

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-4.22-e2e-metal-ipi-ovn-ipv6

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/fd9293b0-a1aa-11f1-81fb-93c78791b6ab-0

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/067ad9b0-a1ab-11f1-80c5-cba8c3ca0b9a-0

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-metal-ipi-ovn-ipv6

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/f67e2050-a1cb-11f1-94bd-484159433da7-0

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/02bc9630-a1cc-11f1-8266-d4ff462fa054-0

@jacobsee

Copy link
Copy Markdown
Member Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-kube-apiserver-rollout

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: 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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/b6293430-a1cc-11f1-9352-185a106e0471-0

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-metal-ipi-ovn-ipv6

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/88ac0340-a26f-11f1-8598-a39b9f7c9db0-0

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown

@jacobsee: This PR was included in a payload test run from openshift/cluster-kube-apiserver-operator#2267
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-aws-ovn-kube-apiserver-rollout

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/930899c0-a26f-11f1-8345-6794d989dba3-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. backports/unvalidated-commits Indicates that not all commits come to merged upstream PRs. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants