From 63f7b846c57a8a8636a9d92d90204585dd9a0cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20K=C5=99epinsk=C3=BD?= Date: Mon, 4 May 2026 20:15:42 +0200 Subject: [PATCH] use AlwaysAllow UnhealthyPodEvictionPolicy option in PDBs 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. --- .../templates/poddisruptionbudget-olmv1-system-catalogd.yml | 1 + .../poddisruptionbudget-olmv1-system-operator-controller.yml | 1 + manifests/experimental-e2e.yaml | 2 ++ manifests/experimental.yaml | 2 ++ manifests/standard-e2e.yaml | 2 ++ manifests/standard.yaml | 2 ++ 6 files changed, 10 insertions(+) diff --git a/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml index 7e6ec2e33..3fd470031 100644 --- a/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml +++ b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml @@ -16,6 +16,7 @@ spec: {{- if .Values.options.catalogd.podDisruptionBudget.maxUnavailable }} maxUnavailable: {{ .Values.options.catalogd.podDisruptionBudget.maxUnavailable }} {{- end }} + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: catalogd-controller-manager diff --git a/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml index 0d98d528f..cf38a205d 100644 --- a/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml +++ b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml @@ -16,6 +16,7 @@ spec: {{- if .Values.options.operatorController.podDisruptionBudget.maxUnavailable }} maxUnavailable: {{ .Values.options.operatorController.podDisruptionBudget.maxUnavailable }} {{- end }} + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: operator-controller-controller-manager diff --git a/manifests/experimental-e2e.yaml b/manifests/experimental-e2e.yaml index fcd40e2d4..6c3aa302e 100644 --- a/manifests/experimental-e2e.yaml +++ b/manifests/experimental-e2e.yaml @@ -100,6 +100,7 @@ metadata: olm.operatorframework.io/feature-set: experimental-e2e spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: catalogd-controller-manager @@ -117,6 +118,7 @@ metadata: olm.operatorframework.io/feature-set: experimental-e2e spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: operator-controller-controller-manager diff --git a/manifests/experimental.yaml b/manifests/experimental.yaml index 0561ea4ac..954fcd274 100644 --- a/manifests/experimental.yaml +++ b/manifests/experimental.yaml @@ -100,6 +100,7 @@ metadata: olm.operatorframework.io/feature-set: experimental spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: catalogd-controller-manager @@ -117,6 +118,7 @@ metadata: olm.operatorframework.io/feature-set: experimental spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: operator-controller-controller-manager diff --git a/manifests/standard-e2e.yaml b/manifests/standard-e2e.yaml index a3a72e89f..66c65b5ae 100644 --- a/manifests/standard-e2e.yaml +++ b/manifests/standard-e2e.yaml @@ -100,6 +100,7 @@ metadata: olm.operatorframework.io/feature-set: standard-e2e spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: catalogd-controller-manager @@ -117,6 +118,7 @@ metadata: olm.operatorframework.io/feature-set: standard-e2e spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: operator-controller-controller-manager diff --git a/manifests/standard.yaml b/manifests/standard.yaml index ad02f96e2..84b940f5e 100644 --- a/manifests/standard.yaml +++ b/manifests/standard.yaml @@ -100,6 +100,7 @@ metadata: olm.operatorframework.io/feature-set: standard spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: catalogd-controller-manager @@ -117,6 +118,7 @@ metadata: olm.operatorframework.io/feature-set: standard spec: minAvailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow selector: matchLabels: control-plane: operator-controller-controller-manager