Skip to content

NO-JIRA: fix(e2e-v2): gate ConfigOperatorReconciliationSucceeded on 4.23+ - #8875

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
muraee:fix-v2-health-test-version-gate
Jul 1, 2026
Merged

NO-JIRA: fix(e2e-v2): gate ConfigOperatorReconciliationSucceeded on 4.23+#8875
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
muraee:fix-v2-health-test-version-gate

Conversation

@muraee

@muraee muraee commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • Verify e2e-v2-aws passes on release-4.22 PRs after this merges
  • Verify e2e-v2-aws still passes on main (4.23+ clusters should have the condition)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests
    • Updated hosted cluster health checks to align expected conditions with older platform versions, reducing false failures when validating version-specific hosted cluster behavior.

@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 30, 2026
@openshift-ci-robot

Copy link
Copy Markdown

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

Details

In response to this:

Summary

Test plan

  • Verify e2e-v2-aws passes on release-4.22 PRs after this merges
  • Verify e2e-v2-aws still passes on main (4.23+ clusters should have the condition)

🤖 Generated with Claude Code

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 30, 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: 863e8314-6113-43df-be74-fa98998fd252

📥 Commits

Reviewing files that changed from the base of the PR and between 4d087b3 and e7e1898.

📒 Files selected for processing (1)
  • test/e2e/v2/tests/hosted_cluster_health_test.go

📝 Walkthrough

Walkthrough

ValidateHostedClusterConditionsTest now removes hyperv1.ConfigOperatorReconciliationSucceeded from the expected conditions map when the e2e version is below Version423.

🚥 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: gating the ConfigOperatorReconciliationSucceeded expectation for e2e-v2 on 4.23+.
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 The PR only adds version-gated condition logic; the Ginkgo titles in the touched test remain static and deterministic.
Test Structure And Quality ✅ Passed The change only gates one expected condition by version; the test already uses BeforeEach, bounded Eventually timeouts, and helpful assertion messages.
Topology-Aware Scheduling Compatibility ✅ Passed Only an e2e health test changed; it gates a condition by version and adds no scheduling constraints or workload placement logic.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The modified health test only gates an expected condition by version; it contains no IPv4 literals, IP parsing, host URL building, or public internet dependencies.
No-Weak-Crypto ✅ Passed Changed test only adds a version gate for ConfigOperatorReconciliationSucceeded; no weak crypto, custom crypto, or secret/token comparisons appear in the modified file.
Container-Privileges ✅ Passed The PR only changes a Go e2e test; no container/K8s manifest privilege flags (privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation) were added.
No-Sensitive-Data-In-Logs ✅ Passed The touched test code only adds a version gate and introduces no logging, prints, or sensitive-data strings.
✨ 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 cblecker and csrwng June 30, 2026 15:42
@openshift-ci openshift-ci Bot added the area/testing Indicates the PR includes changes for e2e testing label Jun 30, 2026
@openshift-ci

openshift-ci Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: muraee

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed do-not-merge/needs-area labels Jun 30, 2026
@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.19%. Comparing base (4d087b3) to head (e7e1898).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8875   +/-   ##
=======================================
  Coverage   43.19%   43.19%           
=======================================
  Files         767      767           
  Lines       94910    94910           
=======================================
  Hits        40997    40997           
  Misses      51050    51050           
  Partials     2863     2863           
Flag Coverage Δ
cmd-support 36.43% <ø> (ø)
cpo-hostedcontrolplane 45.31% <ø> (ø)
cpo-other 45.10% <ø> (ø)
hypershift-operator 53.53% <ø> (ø)
other 31.69% <ø> (ø)

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.

The v2 health test unconditionally expects the
ConfigOperatorReconciliationSucceeded condition, which was introduced
in PR openshift#8340 for 4.23+. The v1 test already gates this with
IsLessThan(Version423), but the v2 test was missing the same check,
causing e2e-v2-aws failures on release-4.22 branches.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@muraee
muraee force-pushed the fix-v2-health-test-version-gate branch from 8165647 to e7e1898 Compare June 30, 2026 16:01
@csrwng

csrwng commented Jun 30, 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 30, 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-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

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

AI Test Failure Analysis

Job: pull-ci-openshift-hypershift-main-e2e-aks | Build: 2071990283515465728 | Cost: $3.2868255000000004 | 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 30, 2026

Copy link
Copy Markdown

Test Results

e2e-aks

e2e-aws

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

AI Test Failure Analysis

Job: pull-ci-openshift-hypershift-main-e2e-aws | Build: 2071990283549020160 | Cost: $2.74329625 | 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

@cblecker

Copy link
Copy Markdown
Member

/test e2e-v2-gke

@muraee

muraee commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/retest-required

@muraee

muraee commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/verified by e2e

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

Copy link
Copy Markdown

@muraee: This PR has been marked as verified by e2e.

Details

In response to this:

/verified by e2e

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.

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

AI Test Failure Analysis

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

View full analysis report


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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD ca3d347 and 2 for PR HEAD e7e1898 in total

@muraee

muraee commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/override e2e-aks
/override e2e-aws
/override e2e-aws-4-22

PR only changes v2 test, those tests are failing because of infra issues.

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

I have all the evidence needed. Both failures are identical CI infrastructure issues — not related to the PR code changes at all. Here's the final report:

Test Failure Analysis Complete

Job Information

Test Failure Analysis

Error

step [release:initial] failed: failed to get CLI image: pod "release-images-initial-cli"
pending for more than 1h0m0s — pod has not been scheduled.

Reason: executing_graph:step_failed:importing_release:pod_pending

Scheduling failure (82 events): 0/74-85 nodes are available: ~12 node(s) didn't match
Pod's node affinity/selector, ~65-70 node(s) had untolerated taint(s), 1 node(s) didn't
match pod anti-affinity rules, 1-6 node(s) were unschedulable. Preemption: not helpful.

Summary

Both e2e-aks and e2e-aws jobs failed due to a CI infrastructure scheduling issue on the build01 cluster — not due to any code change in PR #8875. The jobs shared the same CI namespace (ci-op-lbf03gvq) and both attempted to schedule a pod release-images-initial-cli to extract the CLI image from the initial release. This pod remained in Pending state for over 1 hour due to cluster-wide resource exhaustion (node taints, affinity mismatches, and unschedulable nodes), after which ci-operator timed out and reported failure. The test code itself was never executed.

Root Cause

The root cause is CI infrastructure resource pressure on the build01 cluster, not a product or test code bug.

Timeline:

  1. Both jobs started at 2026-07-01T12:36:24-25Z and shared namespace ci-op-lbf03gvq
  2. Source builds (src, hypershift-operator, hypershift, hypershift-tests, hypershift-cli) all completed successfully by 12:57:40Z
  3. The release image was snapshotted at 12:59:12Z
  4. ci-operator then attempted to import the initial release by scheduling pod release-images-initial-cli
  5. The pod was gated briefly by the multiarch-tuning-operator (gate applied and removed at 12:36:26-27Z) but then entered a permanent scheduling failure loop
  6. For the next 60 minutes, the Kubernetes scheduler repeatedly failed to place the pod across 74-85 available nodes due to:
    • ~65-70 nodes with untolerated taints (reserved for other workloads)
    • ~12 nodes that didn't match pod node affinity/selector
    • 1 node blocked by pod anti-affinity rules
    • 1-6 nodes marked unschedulable (cordoned/draining)
    • Occasional Insufficient memory events
  7. At 13:36:26Z, ci-operator's 1-hour timeout fired and both jobs were reported as failed with reason executing_graph:step_failed:importing_release:pod_pending

This is a transient CI infrastructure issue. The PR's code changes were never tested — the jobs failed during the release image import phase, before any test step could begin.

Recommendations
  1. Retest the PR — Simply trigger a retest (/retest or /test e2e-aks and /test e2e-aws). This is a transient infrastructure issue that typically resolves when cluster load decreases.
  2. No code changes needed — The PR code (gating ConfigOperatorReconciliationSucceeded on 4.23+) was never executed. The failure is entirely in the CI release-import infrastructure step.
  3. If retests continue to fail with the same pod_pending reason, escalate to the CI infrastructure team (TRT / DPTP) as it indicates sustained resource pressure on the build01 cluster.
Evidence
Evidence Detail
Failure reason executing_graph:step_failed:importing_release:pod_pending
Pending pod release-images-initial-cli — stuck in Pending for 1h0m0s
CI cluster build01 (namespace ci-op-lbf03gvq, shared by both jobs)
Scheduling events 82 events showing no schedulable node (taints, affinity mismatch, unschedulable nodes)
Dominant constraint ~65-70 of 74-85 nodes had untolerated taints
Memory pressure Occasional Insufficient memory events observed
All builds succeeded src (2m4s), hypershift-operator (5m56s), hypershift (3m41s), hypershift-cli (1m45s), hypershift-tests (12m45s) — all completed OK
Test execution Never reached — failure occurred during release image import, before any test step
PR code relevance None — the gating change in the PR was never evaluated

@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@muraee: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • e2e-aks
  • e2e-aws
  • e2e-aws-4-22

Only the following failed contexts/checkruns were expected:

  • CodeRabbit
  • ci/prow/e2e-aks
  • ci/prow/e2e-aks-4-22
  • ci/prow/e2e-aws
  • ci/prow/e2e-aws-4-22
  • ci/prow/e2e-aws-upgrade-hypershift-operator
  • ci/prow/e2e-azure-v2-self-managed
  • ci/prow/e2e-kubevirt-aws-ovn-reduced
  • ci/prow/e2e-v2-aws
  • ci/prow/e2e-v2-gke
  • ci/prow/images
  • ci/prow/okd-scos-images
  • ci/prow/security
  • ci/prow/verify-deps
  • envtest-kube / Envtest Vanilla Kube ${{ matrix.version }}
  • envtest-ocp / Envtest OCP (K8s ${{ matrix.version }})
  • pull-ci-openshift-hypershift-main-e2e-aks
  • pull-ci-openshift-hypershift-main-e2e-aks-4-22
  • pull-ci-openshift-hypershift-main-e2e-aws
  • pull-ci-openshift-hypershift-main-e2e-aws-4-22
  • pull-ci-openshift-hypershift-main-e2e-aws-upgrade-hypershift-operator
  • pull-ci-openshift-hypershift-main-e2e-azure-v2-self-managed
  • pull-ci-openshift-hypershift-main-e2e-kubevirt-aws-ovn-reduced
  • pull-ci-openshift-hypershift-main-e2e-v2-aws
  • pull-ci-openshift-hypershift-main-e2e-v2-gke
  • pull-ci-openshift-hypershift-main-images
  • pull-ci-openshift-hypershift-main-okd-scos-images
  • pull-ci-openshift-hypershift-main-security
  • pull-ci-openshift-hypershift-main-verify-deps
  • tide

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

/override e2e-aks
/override e2e-aws
/override e2e-aws-4-22

PR only changes v2 test, those tests are failing because of infra issues.

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.

@muraee

muraee commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/override "ci/prow/e2e-aks"
/override "ci/prow/e2e-aws"
/override "ci/prow/e2e-aws-4-22"

PR only changes v2 test, those tests are failing because of infra issues.

@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@muraee: Overrode contexts on behalf of muraee: ci/prow/e2e-aks, ci/prow/e2e-aws, ci/prow/e2e-aws-4-22

Details

In response to this:

/override "ci/prow/e2e-aks"
/override "ci/prow/e2e-aws"
/override "ci/prow/e2e-aws-4-22"

PR only changes v2 test, those tests are failing because of infra issues.

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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit ce9dd2c into openshift:main Jul 1, 2026
41 checks passed
@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

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

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/testing Indicates the PR includes changes for e2e testing 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.

5 participants