From d99bdfffc8792d324bbd2ca985c81a556ca5427d Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Tue, 16 Aug 2022 13:38:11 +0200 Subject: [PATCH] NodeFit: do not check whether node fitsRequest when a pod is already assigned to the node --- pkg/descheduler/node/node.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/descheduler/node/node.go b/pkg/descheduler/node/node.go index e95606325..c476ec98e 100644 --- a/pkg/descheduler/node/node.go +++ b/pkg/descheduler/node/node.go @@ -119,9 +119,11 @@ func NodeFit(nodeIndexer podutil.GetPodsAssignedToNodeFunc, pod *v1.Pod, node *v errors = append(errors, fmt.Errorf("pod does not tolerate taints on the node")) } // Check if the pod can fit on a node based off it's requests - ok, reqErrors := fitsRequest(nodeIndexer, pod, node) - if !ok { - errors = append(errors, reqErrors...) + if pod.Spec.NodeName == "" || pod.Spec.NodeName != node.Name { + ok, reqErrors := fitsRequest(nodeIndexer, pod, node) + if !ok { + errors = append(errors, reqErrors...) + } } // Check if node is schedulable if IsNodeUnschedulable(node) {