Skip to content

Contain exception OCPBUGS-65984 on two-node clusters#31223

Draft
hongkailiu wants to merge 1 commit into
openshift:mainfrom
hongkailiu:OCPBUGS-65984-two-node
Draft

Contain exception OCPBUGS-65984 on two-node clusters#31223
hongkailiu wants to merge 1 commit into
openshift:mainfrom
hongkailiu:OCPBUGS-65984-two-node

Conversation

@hongkailiu
Copy link
Copy Markdown
Member

@hongkailiu hongkailiu commented May 27, 2026

See details in [1].

We should not merge this into 5.0 if the fix for HA is not backported to 4.22. The pull can be merged only when the symptom is still there for two-node clusters after 5.1 is cut.

/hold

[1]. https://redhat.atlassian.net/browse/OCPBUGS-65984?focusedCommentId=17095375

Summary by CodeRabbit

  • Tests
    • Refined validation of cluster operator state transitions for two-node topologies to ensure accurate testing of storage component stability during system operations and upgrades.

See details in [1].

We should not merge this into 5.0 if the fix for HA is not backported to 4.22.
The pull can be merged only when the symptom is still there for two-node clusters after 5.1 is cut.

/hold

[1]. https://redhat.atlassian.net/browse/OCPBUGS-65984?focusedCommentId=17095375
@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

@openshift-ci openshift-ci Bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels May 27, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 27, 2026

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

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

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: 7979eb87-6909-45e6-9d98-1341b39fdb6e

📥 Commits

Reviewing files that changed from the base of the PR and between 355916d and b934c89.

📒 Files selected for processing (1)
  • pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go

Walkthrough

The pull request tightens operator state transition test expectations by computing a topology flag and using it to restrict an existing kube-storage-version-migrator exception to two-node clusters only, applied consistently across both stable-system and upgrade test functions.

Changes

Two-Node Topology Exception Gating

Layer / File(s) Summary
Topology-gated operator state exceptions
pkg/monitortests/clusterversionoperator/legacycvomonitortests/operators.go
Derives isTwoNode from the topology argument and uses it to restrict the kube-storage-version-migrator exception (Available=False with reason KubeStorageVersionMigrator_Deploying) in both testStableSystemOperatorStateTransitions and testUpgradeOperatorStateTransitions to apply only on two-node cluster topologies.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5 minutes

🚥 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%. 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 and specifically describes the main change: containing a bug exception (OCPBUGS-65984) to two-node clusters only, which aligns with the changeset that restricts existing exceptions to two-node topologies.
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 Test names in operators.go are generated statically from known operators and condition types; PR changes only affect exception logic and do not introduce dynamic test names.
Test Structure And Quality ✅ Passed The PR modifies utility code that generates JUnit test cases, not Ginkgo tests. The custom check requires Ginkgo test review which is not applicable here.
Microshift Test Compatibility ✅ Passed PR modifies monitor test helper functions but does not add any new Ginkgo e2e tests; check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests are added in this PR. Changes only modify existing helper functions to restrict exceptions to two-node topologies, not applicable to the SNO test compatibility check.
Topology-Aware Scheduling Compatibility ✅ Passed PR improves topology-awareness by restricting kube-storage-version-migrator exception to two-node clusters only, checking configv1.TopologyMode constants before applying scheduling-related exceptions.
Ote Binary Stdout Contract ✅ Passed The PR only modifies test exception logic by adding isTwoNode conditionals. No stdout writes, logging to stdout, or process-level I/O violations were found in the changes or affected file.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests. File is a monitoring test library generating JUnit test cases with no Ginkgo constructs. Check requirement not applicable.
No-Weak-Crypto ✅ Passed No weak cryptographic usage found. Changes only add topology-based exception restrictions to test code.
Container-Privileges ✅ Passed PR modifies Go test logic in operators.go only; no container manifests or container privilege settings are changed.
No-Sensitive-Data-In-Logs ✅ Passed PR introduces no new logging statements; all existing log calls log only non-sensitive data: operator names, upgrade timing, and condition states. No passwords, tokens, keys, or PII logged.

✏️ 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 and usage tips.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 27, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: hongkailiu
Once this PR has been reviewed and has the lgtm label, please assign dgoodwin 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 May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. 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.

1 participant