From 3033aec6a050437ecc9aea340e0dc22166206a05 Mon Sep 17 00:00:00 2001 From: S J Tharun Date: Sat, 11 Oct 2025 07:53:41 +0530 Subject: [PATCH 1/2] descheduler: handle single-node clusters gracefully --- pkg/descheduler/descheduler.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/descheduler/descheduler.go b/pkg/descheduler/descheduler.go index b21d5c222..047bfe752 100644 --- a/pkg/descheduler/descheduler.go +++ b/pkg/descheduler/descheduler.go @@ -356,8 +356,8 @@ func (d *descheduler) runDeschedulerLoop(ctx context.Context, nodes []*v1.Node) // if len is still <= 1 error out if len(nodes) <= 1 { - klog.V(1).InfoS("The cluster size is 0 or 1 meaning eviction causes service disruption or degradation. So aborting..") - return fmt.Errorf("the cluster size is 0 or 1") + klog.InfoS("Skipping descheduling cycle: requires >=2 nodes", "found", len(nodes)) + return nil // gracefully skip this cycle instead of aborting } var client clientset.Interface From 7d6f6fedecd1dd459dd073df3936918db1463dba Mon Sep 17 00:00:00 2001 From: S J Tharun Date: Mon, 13 Oct 2025 08:29:27 +0530 Subject: [PATCH 2/2] fix gofmt error --- pkg/descheduler/descheduler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/descheduler/descheduler.go b/pkg/descheduler/descheduler.go index 047bfe752..d9bb313d0 100644 --- a/pkg/descheduler/descheduler.go +++ b/pkg/descheduler/descheduler.go @@ -357,7 +357,7 @@ func (d *descheduler) runDeschedulerLoop(ctx context.Context, nodes []*v1.Node) // if len is still <= 1 error out if len(nodes) <= 1 { klog.InfoS("Skipping descheduling cycle: requires >=2 nodes", "found", len(nodes)) - return nil // gracefully skip this cycle instead of aborting + return nil // gracefully skip this cycle instead of aborting } var client clientset.Interface