diff --git a/pkg/scheduler/core/extender.go b/pkg/scheduler/core/extender.go index 14bd455cc03..f0071ececed 100644 --- a/pkg/scheduler/core/extender.go +++ b/pkg/scheduler/core/extender.go @@ -184,18 +184,19 @@ func (h *HTTPExtender) restorePodFromNodeInfo( metaPod *schedulerapi.MetaPod, nodeName string, nodeNameToInfo map[string]*schedulercache.NodeInfo) (*v1.Pod, error) { + var nodeInfo *schedulercache.NodeInfo if nodeInfo, ok := nodeNameToInfo[nodeName]; ok { for _, pod := range nodeInfo.Pods() { if string(pod.UID) == metaPod.UID { return pod, nil } } - return nil, fmt.Errorf("extender: %v claims to preempt pod (UID: %v) on node: %v, but the pod is not found on that node.", + return nil, fmt.Errorf("extender: %v claims to preempt pod (UID: %v) on node: %v, but the pod is not found on that node", h.extenderURL, metaPod, nodeInfo.Node().Name) - } else { - return nil, fmt.Errorf("extender: %v claims to preempt on node: %v but the node is not found in nodeNameToInfo map", - h.extenderURL, nodeInfo.Node().Name) } + + return nil, fmt.Errorf("extender: %v claims to preempt on node: %v but the node is not found in nodeNameToInfo map", + h.extenderURL, nodeInfo.Node().Name) } // convertToNodeNameToMetaVictims converts from struct type to meta types. diff --git a/pkg/scheduler/core/generic_scheduler.go b/pkg/scheduler/core/generic_scheduler.go index 6f3a9a323c1..f86ce887ef2 100644 --- a/pkg/scheduler/core/generic_scheduler.go +++ b/pkg/scheduler/core/generic_scheduler.go @@ -54,6 +54,7 @@ type FitError struct { FailedPredicates FailedPredicateMap } +// ErrNoNodesAvailable is used to describe the error that no nodes available to schedule pods. var ErrNoNodesAvailable = fmt.Errorf("no nodes available to schedule pods") const ( @@ -253,11 +254,11 @@ func (g *genericScheduler) Preempt(pod *v1.Pod, nodeLister algorithm.NodeLister, nominatedPods := g.getLowerPriorityNominatedPods(pod, candidateNode.Name) if nodeInfo, ok := g.cachedNodeInfoMap[candidateNode.Name]; ok { return nodeInfo.Node(), nodeToVictims[candidateNode].Pods, nominatedPods, err - } else { - return nil, nil, nil, fmt.Errorf( - "preemption failed: the target node %s has been deleted from scheduler cache", - candidateNode.Name) } + + return nil, nil, nil, fmt.Errorf( + "preemption failed: the target node %s has been deleted from scheduler cache", + candidateNode.Name) } // processPreemptionWithExtenders processes preemption with extenders diff --git a/pkg/scheduler/core/generic_scheduler_test.go b/pkg/scheduler/core/generic_scheduler_test.go index eaca9831f75..ffb08932280 100644 --- a/pkg/scheduler/core/generic_scheduler_test.go +++ b/pkg/scheduler/core/generic_scheduler_test.go @@ -883,7 +883,7 @@ func TestSelectNodesForPreemption(t *testing.T) { for _, test := range tests { nodes := []*v1.Node{} for _, n := range test.nodes { - node := makeNode(n, priorityutil.DefaultMilliCPURequest*5, priorityutil.DefaultMemoryRequest*5) + node := makeNode(n, 1000*5, priorityutil.DefaultMemoryRequest*5) node.ObjectMeta.Labels = map[string]string{"hostname": node.Name} nodes = append(nodes, node) } @@ -1286,7 +1286,7 @@ func TestPreempt(t *testing.T) { } cachedNodeInfoMap := map[string]*schedulercache.NodeInfo{} for _, name := range nodeNames { - node := makeNode(name, priorityutil.DefaultMilliCpuRequest*5, priorityutil.DefaultMemoryRequest*5) + node := makeNode(name, 1000*5, priorityutil.DefaultMemoryRequest*5) cache.AddNode(node) // Set nodeInfo to extenders to mock extenders' cache for preemption.