mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-08 03:33:56 +00:00
Fix golints in extender
This commit is contained in:
parent
71603f2f85
commit
b62d82422d
@ -184,19 +184,20 @@ func (h *HTTPExtender) restorePodFromNodeInfo(
|
|||||||
metaPod *schedulerapi.MetaPod,
|
metaPod *schedulerapi.MetaPod,
|
||||||
nodeName string,
|
nodeName string,
|
||||||
nodeNameToInfo map[string]*schedulercache.NodeInfo) (*v1.Pod, error) {
|
nodeNameToInfo map[string]*schedulercache.NodeInfo) (*v1.Pod, error) {
|
||||||
|
var nodeInfo *schedulercache.NodeInfo
|
||||||
if nodeInfo, ok := nodeNameToInfo[nodeName]; ok {
|
if nodeInfo, ok := nodeNameToInfo[nodeName]; ok {
|
||||||
for _, pod := range nodeInfo.Pods() {
|
for _, pod := range nodeInfo.Pods() {
|
||||||
if string(pod.UID) == metaPod.UID {
|
if string(pod.UID) == metaPod.UID {
|
||||||
return pod, nil
|
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)
|
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",
|
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)
|
h.extenderURL, nodeInfo.Node().Name)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// convertToNodeNameToMetaVictims converts from struct type to meta types.
|
// convertToNodeNameToMetaVictims converts from struct type to meta types.
|
||||||
func convertToNodeNameToMetaVictims(
|
func convertToNodeNameToMetaVictims(
|
||||||
|
@ -54,6 +54,7 @@ type FitError struct {
|
|||||||
FailedPredicates FailedPredicateMap
|
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")
|
var ErrNoNodesAvailable = fmt.Errorf("no nodes available to schedule pods")
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -253,12 +254,12 @@ func (g *genericScheduler) Preempt(pod *v1.Pod, nodeLister algorithm.NodeLister,
|
|||||||
nominatedPods := g.getLowerPriorityNominatedPods(pod, candidateNode.Name)
|
nominatedPods := g.getLowerPriorityNominatedPods(pod, candidateNode.Name)
|
||||||
if nodeInfo, ok := g.cachedNodeInfoMap[candidateNode.Name]; ok {
|
if nodeInfo, ok := g.cachedNodeInfoMap[candidateNode.Name]; ok {
|
||||||
return nodeInfo.Node(), nodeToVictims[candidateNode].Pods, nominatedPods, err
|
return nodeInfo.Node(), nodeToVictims[candidateNode].Pods, nominatedPods, err
|
||||||
} else {
|
}
|
||||||
|
|
||||||
return nil, nil, nil, fmt.Errorf(
|
return nil, nil, nil, fmt.Errorf(
|
||||||
"preemption failed: the target node %s has been deleted from scheduler cache",
|
"preemption failed: the target node %s has been deleted from scheduler cache",
|
||||||
candidateNode.Name)
|
candidateNode.Name)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// processPreemptionWithExtenders processes preemption with extenders
|
// processPreemptionWithExtenders processes preemption with extenders
|
||||||
func (g *genericScheduler) processPreemptionWithExtenders(
|
func (g *genericScheduler) processPreemptionWithExtenders(
|
||||||
|
@ -883,7 +883,7 @@ func TestSelectNodesForPreemption(t *testing.T) {
|
|||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
nodes := []*v1.Node{}
|
nodes := []*v1.Node{}
|
||||||
for _, n := range test.nodes {
|
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}
|
node.ObjectMeta.Labels = map[string]string{"hostname": node.Name}
|
||||||
nodes = append(nodes, node)
|
nodes = append(nodes, node)
|
||||||
}
|
}
|
||||||
@ -1286,7 +1286,7 @@ func TestPreempt(t *testing.T) {
|
|||||||
}
|
}
|
||||||
cachedNodeInfoMap := map[string]*schedulercache.NodeInfo{}
|
cachedNodeInfoMap := map[string]*schedulercache.NodeInfo{}
|
||||||
for _, name := range nodeNames {
|
for _, name := range nodeNames {
|
||||||
node := makeNode(name, priorityutil.DefaultMilliCpuRequest*5, priorityutil.DefaultMemoryRequest*5)
|
node := makeNode(name, 1000*5, priorityutil.DefaultMemoryRequest*5)
|
||||||
cache.AddNode(node)
|
cache.AddNode(node)
|
||||||
|
|
||||||
// Set nodeInfo to extenders to mock extenders' cache for preemption.
|
// Set nodeInfo to extenders to mock extenders' cache for preemption.
|
||||||
|
Loading…
Reference in New Issue
Block a user