Skip to content

NO-JIRA: fix e2e spam#9059

Open
stevekuznetsov wants to merge 2 commits into
openshift:mainfrom
stevekuznetsov:skuznets/better-test-output
Open

NO-JIRA: fix e2e spam#9059
stevekuznetsov wants to merge 2 commits into
openshift:mainfrom
stevekuznetsov:skuznets/better-test-output

Conversation

@stevekuznetsov

@stevekuznetsov stevekuznetsov commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

refactor(e2e): replace DaemonSet polling loops with EventuallyObject

Replace waitForDaemonSetReady and waitForDaemonSetRollout with
EventuallyObject-based implementations that only log on state changes,
eliminating repetitive polling spam in test output.

Signed-off-by: Steve Kuznetsov stekuznetsov@microsoft.com
Commit-Message-Assisted-by: Claude (via Claude Code)


docs(e2e): add async assertion guidance for e2e util package

Add test/e2e/util/AGENTS.md requiring EventuallyObject/EventuallyObjects
for all Kubernetes object polling and reference it from the root AGENTS.md.

Signed-off-by: Steve Kuznetsov stekuznetsov@microsoft.com
Commit-Message-Assisted-by: Claude (via Claude Code)
Signed-off-by: Steve Kuznetsov stekuznetsov@microsoft.com


Summary by CodeRabbit

  • Documentation

    • Added guidance for writing asynchronous end-to-end assertions and polling Kubernetes objects.
    • Documented recommended utilities, predicate behavior, timeout configuration, diagnostics, and appropriate use of alternative assertions.
  • Tests

    • Improved end-to-end checks for DaemonSet rollout, scheduling, generation observation, and pod readiness.
    • Enhanced failure diagnostics and consistency across Cilium, verifier deployment, and GlobalPullSecret validation flows.

Replace waitForDaemonSetReady and waitForDaemonSetRollout with
EventuallyObject-based implementations that only log on state changes,
eliminating repetitive polling spam in test output.

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Commit-Message-Assisted-by: Claude (via Claude Code)
Add test/e2e/util/AGENTS.md requiring EventuallyObject/EventuallyObjects
for all Kubernetes object polling and reference it from the root AGENTS.md.

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Commit-Message-Assisted-by: Claude (via Claude Code)
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
@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 Jul 22, 2026
@openshift-ci-robot

Copy link
Copy Markdown

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

Details

In response to this:

refactor(e2e): replace DaemonSet polling loops with EventuallyObject

Replace waitForDaemonSetReady and waitForDaemonSetRollout with
EventuallyObject-based implementations that only log on state changes,
eliminating repetitive polling spam in test output.

Signed-off-by: Steve Kuznetsov stekuznetsov@microsoft.com
Commit-Message-Assisted-by: Claude (via Claude Code)


docs(e2e): add async assertion guidance for e2e util package

Add test/e2e/util/AGENTS.md requiring EventuallyObject/EventuallyObjects
for all Kubernetes object polling and reference it from the root AGENTS.md.

Signed-off-by: Steve Kuznetsov stekuznetsov@microsoft.com
Commit-Message-Assisted-by: Claude (via Claude Code)
Signed-off-by: Steve Kuznetsov stekuznetsov@microsoft.com


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 Jul 22, 2026

Copy link
Copy Markdown
Contributor

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: 9350c249-2fe3-49d6-a202-189ead0e5f37

📥 Commits

Reviewing files that changed from the base of the PR and between 09265ac and f118a49.

📒 Files selected for processing (5)
  • AGENTS.md
  • test/e2e/util/AGENTS.md
  • test/e2e/util/cilium.go
  • test/e2e/util/globalps.go
  • test/e2e/util/util.go

📝 Walkthrough

Walkthrough

The E2E utilities now document and use EventuallyObject-based polling for Kubernetes objects. DaemonSet readiness and rollout checks use predicates for observed generation, scheduled pod count, and updated-ready pod status under a five-minute timeout. Call sites invoke the readiness helpers directly, with validation handled within the helpers instead of returned-error assertions.

🚥 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 matches the main intent of reducing repetitive e2e logging, even though it is broad and not implementation-specific.
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 No Ginkgo titles were added or modified in the PR; the touched files only contain static t.Run labels and helper logic, not dynamic It/Describe/Context/When names.
Test Structure And Quality ✅ Passed The actual diff here is docs-only; the touched test helpers use explicit timeouts and cleanup, and no new Ginkgo test-structure issues are introduced.
Topology-Aware Scheduling Compatibility ✅ Passed Only AGENTS.md docs changed; no manifests, operator code, or controllers were modified, so topology-aware scheduling rules are not implicated.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed HEAD only changes AGENTS.md docs; no new Ginkgo e2e tests or network/IP-sensitive code were added.
No-Weak-Crypto ✅ Passed This commit only changes AGENTS.md files; no new weak-crypto or secret-comparison code was added.
Container-Privileges ✅ Passed The patch only refactors polling/docs; it adds no privileged/hostPID/hostNetwork/allowPrivilegeEscalation/root changes in manifests.
No-Sensitive-Data-In-Logs ✅ Passed PR removes noisy polling logs and adds only DaemonSet/status messages; no raw passwords, tokens, API keys, PII, or secret contents are logged.
✨ 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 csrwng and devguyio July 22, 2026 15:09
@openshift-ci openshift-ci Bot added area/testing Indicates the PR includes changes for e2e testing and removed do-not-merge/needs-area labels Jul 22, 2026
@jparrill

Copy link
Copy Markdown
Contributor

/label acknowledge-critical-fixes-only

@openshift-ci openshift-ci Bot added the acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. label Jul 22, 2026
@jparrill

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jparrill, stevekuznetsov

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 22, 2026
@stevekuznetsov

Copy link
Copy Markdown
Contributor Author

/pipeline required

@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-4-22
/test e2e-aws-4-22
/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
/test unit
/test verify

@cwbotbot

cwbotbot commented Jul 22, 2026

Copy link
Copy Markdown

Test Results

e2e-aws

Failed Tests

Total failed tests: 6

  • TestCreateCluster
  • TestCreateCluster/Main
  • TestCreateCluster/Main/EnsureGlobalPullSecret
  • TestCreateCluster/Main/EnsureGlobalPullSecret/Check_if_the_config.json_is_correct_in_all_of_the_nodes
  • TestCreateCluster/Main/EnsureGlobalPullSecret/Create_a_pod_which_uses_the_restricted_image,_should_succeed

... and 1 more failed tests

e2e-aks

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

@stevekuznetsov: 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-azure-v2-self-managed f118a49 link true /test e2e-azure-v2-self-managed
ci/prow/e2e-aws f118a49 link true /test e2e-aws
ci/prow/e2e-kubevirt-aws-ovn-reduced f118a49 link true /test e2e-kubevirt-aws-ovn-reduced
ci/prow/e2e-aws-4-22 f118a49 link true /test e2e-aws-4-22
ci/prow/e2e-aws-upgrade-hypershift-operator f118a49 link true /test e2e-aws-upgrade-hypershift-operator

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

acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. approved Indicates a PR has been approved by an approver from all required OWNERS files. area/testing Indicates the PR includes changes for e2e testing 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