Skip to content

Conversation

@jianzhangbjz
Copy link
Member

@jianzhangbjz jianzhangbjz commented Nov 26, 2025

Description

To address OCPBUGS-62517. Currently, the operator-controller lacks PodDisruptionBudget configuration. During node drain operations or cluster upgrades, all controller pods can be evicted
Simultaneously, causing the operator to report Available=False, which violates the OpenShift API contract:

"A component must not report Available=False during the course of a normal upgrade."
OpenShift API Contract

Add PodDisruptionBudget resources with minAvailable: 1 for both controllers to ensure at least one pod remains available during:

  • Rolling updates
  • Node drain operations
  • Cluster upgrades

Reviewer Checklist

  • API Go Documentation
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)

Assisted-by: Claude code

@jianzhangbjz jianzhangbjz requested a review from a team as a code owner November 26, 2025 02:16
@openshift-ci openshift-ci bot requested a review from dtfranz November 26, 2025 02:16
@netlify
Copy link

netlify bot commented Nov 26, 2025

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit d870cf5
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/692662f42a9f40000799826d
😎 Deploy Preview https://deploy-preview-2362--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@codecov
Copy link

codecov bot commented Nov 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.52%. Comparing base (0fecf3f) to head (d870cf5).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2362      +/-   ##
==========================================
+ Coverage   70.50%   74.52%   +4.01%     
==========================================
  Files          93       93              
  Lines        7300     7300              
==========================================
+ Hits         5147     5440     +293     
+ Misses       1719     1429     -290     
+ Partials      434      431       -3     
Flag Coverage Δ
e2e 44.47% <ø> (-0.05%) ⬇️
experimental-e2e 48.86% <ø> (?)
unit 58.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

enabled: []
disabled: []
podDisruptionBudget:
enabled: true
Copy link
Contributor

@pedjak pedjak Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit]: perhaps would be better to name it create:?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However, all the other options are named enabled

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, is there a reason for this option, and not just create it based on catalog or operatorController state? (rhetorical question)

Comment on lines +1 to +2
{{- if .Values.options.catalogd.enabled }}
{{- if .Values.options.catalogd.podDisruptionBudget.enabled }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit]: perhaps we can combine these two into single if

@@ -0,0 +1,24 @@
{{- if .Values.options.operatorController.enabled }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comments as for the other pdb.

@tmshort
Copy link
Contributor

tmshort commented Nov 26, 2025

/approve
It's needed, just may need a few tweeks.

@openshift-ci
Copy link

openshift-ci bot commented Nov 26, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tmshort

The full list of commands accepted by this bot can be found here.

The pull request process is described here

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 Nov 26, 2025
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants