Skip to content

✨ use AlwaysAllow UnhealthyPodEvictionPolicy option in PDBs#2688

Open
atiratree wants to merge 1 commit intooperator-framework:mainfrom
atiratree:pdb-unhealthyPodEvictionPolicy
Open

✨ use AlwaysAllow UnhealthyPodEvictionPolicy option in PDBs#2688
atiratree wants to merge 1 commit intooperator-framework:mainfrom
atiratree:pdb-unhealthyPodEvictionPolicy

Conversation

@atiratree
Copy link
Copy Markdown

Description

Allow eviction of unhealthy (not ready) pods even if there are no disruptions allowed on a PodDisruptionBudget. This can help to drain/maintain a node and recover without a manual intervention when multiple instances of nodes or pods are misbehaving.

Reviewer Checklist

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

Allow eviction of unhealthy (not ready) pods even if there are no disruptions
allowed on a PodDisruptionBudget. This can help to drain/maintain a node and
recover without a manual intervention when multiple instances of nodes or pods
are misbehaving.
Copilot AI review requested due to automatic review settings May 4, 2026 18:33
@netlify
Copy link
Copy Markdown

netlify Bot commented May 4, 2026

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit 63f7b84
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/69f8e68fc1c7cf0008dd8863
😎 Deploy Preview https://deploy-preview-2688--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

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

@openshift-ci openshift-ci Bot requested a review from OchiengEd May 4, 2026 18:34
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 4, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign camilamacedo86 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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the shipped PodDisruptionBudgets (PDBs) for catalogd and operator-controller to allow eviction of unhealthy (NotReady) pods by setting unhealthyPodEvictionPolicy: AlwaysAllow, improving node drain/maintenance behavior when disruptions are otherwise blocked.

Changes:

  • Set unhealthyPodEvictionPolicy: AlwaysAllow on the two PDBs in the rendered “standard” and “experimental” install manifests (including e2e variants).
  • Set unhealthyPodEvictionPolicy: AlwaysAllow in the Helm chart PDB templates for both components.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
manifests/standard.yaml Adds unhealthyPodEvictionPolicy: AlwaysAllow to the two PDBs in the standard rendered manifest.
manifests/standard-e2e.yaml Adds the same PDB policy setting for the standard-e2e rendered manifest.
manifests/experimental.yaml Adds the same PDB policy setting for the experimental rendered manifest.
manifests/experimental-e2e.yaml Adds the same PDB policy setting for the experimental-e2e rendered manifest.
helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml Hard-codes unhealthyPodEvictionPolicy: AlwaysAllow for the operator-controller PDB template.
helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml Hard-codes unhealthyPodEvictionPolicy: AlwaysAllow for the catalogd PDB template.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

{{- if .Values.options.operatorController.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.options.operatorController.podDisruptionBudget.maxUnavailable }}
{{- end }}
unhealthyPodEvictionPolicy: AlwaysAllow
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

is there a minimum supported k8s version for OLM?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The k8s API in go.mod is 0.35.x, so that should be considered the minimum. Since these charts are used for helm template and not helm install, the .Capabilities.KubeVersion.Version may not be known, and shouldn't be depended on (it's not used anywhere else)

{{- if .Values.options.catalogd.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.options.catalogd.podDisruptionBudget.maxUnavailable }}
{{- end }}
unhealthyPodEvictionPolicy: AlwaysAllow
@atiratree
Copy link
Copy Markdown
Author

@grokspawn could you please take a look?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants