From 0d80ac9f15e8d4afe775e857d924bf6dba4360d8 Mon Sep 17 00:00:00 2001 From: nicolaferraro Date: Thu, 21 Apr 2022 00:34:15 +0200 Subject: [PATCH] operator: disable maintenance mode hooks in single node clusters --- src/go/k8s/pkg/resources/statefulset.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/go/k8s/pkg/resources/statefulset.go b/src/go/k8s/pkg/resources/statefulset.go index a207e81adcd7..0af5659d9b1f 100644 --- a/src/go/k8s/pkg/resources/statefulset.go +++ b/src/go/k8s/pkg/resources/statefulset.go @@ -516,7 +516,9 @@ func (r *StatefulSetResource) obj( }, } - if featuregates.MaintenanceMode(r.pandaCluster.Spec.Version) && r.pandaCluster.IsUsingMaintenanceModeHooks() { + // Only multi-replica clusters should use maintenance mode. See: https://github.com/redpanda-data/redpanda/issues/4338 + multiReplica := r.pandaCluster.Spec.Replicas != nil && *r.pandaCluster.Spec.Replicas > 1 + if featuregates.MaintenanceMode(r.pandaCluster.Spec.Version) && r.pandaCluster.IsUsingMaintenanceModeHooks() && multiReplica { ss.Spec.Template.Spec.Containers[0].Lifecycle = &corev1.Lifecycle{ PreStop: r.getPreStopHook(), PostStart: r.getPostStartHook(),