mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
Merge pull request #108705 from denkensk/refine-preempt-msg
make the preempt failed message per node compressible in event
This commit is contained in:
commit
aa383570f0
@ -175,7 +175,7 @@ func (pl *DefaultPreemption) SelectVictimsOnNode(
|
|||||||
|
|
||||||
// No potential victims are found, and so we don't need to evaluate the node again since its state didn't change.
|
// No potential victims are found, and so we don't need to evaluate the node again since its state didn't change.
|
||||||
if len(potentialVictims) == 0 {
|
if len(potentialVictims) == 0 {
|
||||||
message := fmt.Sprintf("No victims found on node %v for preemptor pod %v", nodeInfo.Node().Name, pod.Name)
|
message := fmt.Sprintf("No preemption victims found for incoming pod")
|
||||||
return nil, 0, framework.NewStatus(framework.UnschedulableAndUnresolvable, message)
|
return nil, 0, framework.NewStatus(framework.UnschedulableAndUnresolvable, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ func TestPostFilter(t *testing.T) {
|
|||||||
"node1": framework.NewStatus(framework.Unschedulable),
|
"node1": framework.NewStatus(framework.Unschedulable),
|
||||||
},
|
},
|
||||||
wantResult: framework.NewPostFilterResultWithNominatedNode(""),
|
wantResult: framework.NewPostFilterResultWithNominatedNode(""),
|
||||||
wantStatus: framework.NewStatus(framework.Unschedulable, "preemption: 0/1 nodes are available: 1 No victims found on node node1 for preemptor pod p."),
|
wantStatus: framework.NewStatus(framework.Unschedulable, "preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod."),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "preemption should respect filteredNodesStatuses",
|
name: "preemption should respect filteredNodesStatuses",
|
||||||
@ -258,17 +258,20 @@ func TestPostFilter(t *testing.T) {
|
|||||||
pods: []*v1.Pod{
|
pods: []*v1.Pod{
|
||||||
st.MakePod().Name("p1").UID("p1").Namespace(v1.NamespaceDefault).Node("node1").Priority(highPriority).Obj(),
|
st.MakePod().Name("p1").UID("p1").Namespace(v1.NamespaceDefault).Node("node1").Priority(highPriority).Obj(),
|
||||||
st.MakePod().Name("p2").UID("p2").Namespace(v1.NamespaceDefault).Node("node2").Obj(),
|
st.MakePod().Name("p2").UID("p2").Namespace(v1.NamespaceDefault).Node("node2").Obj(),
|
||||||
|
st.MakePod().Name("p3").UID("p3").Namespace(v1.NamespaceDefault).Node("node3").Priority(highPriority).Obj(),
|
||||||
},
|
},
|
||||||
nodes: []*v1.Node{
|
nodes: []*v1.Node{
|
||||||
st.MakeNode().Name("node1").Capacity(onePodRes).Obj(), // no pod will be preempted
|
st.MakeNode().Name("node1").Capacity(onePodRes).Obj(), // no pod will be preempted
|
||||||
st.MakeNode().Name("node2").Capacity(nodeRes).Obj(), // no enough CPU resource
|
st.MakeNode().Name("node2").Capacity(nodeRes).Obj(), // no enough CPU resource
|
||||||
|
st.MakeNode().Name("node3").Capacity(onePodRes).Obj(), // no pod will be preempted
|
||||||
},
|
},
|
||||||
filteredNodesStatuses: framework.NodeToStatusMap{
|
filteredNodesStatuses: framework.NodeToStatusMap{
|
||||||
"node1": framework.NewStatus(framework.Unschedulable),
|
"node1": framework.NewStatus(framework.Unschedulable),
|
||||||
"node2": framework.NewStatus(framework.Unschedulable),
|
"node2": framework.NewStatus(framework.Unschedulable),
|
||||||
|
"node3": framework.NewStatus(framework.Unschedulable),
|
||||||
},
|
},
|
||||||
wantResult: framework.NewPostFilterResultWithNominatedNode(""),
|
wantResult: framework.NewPostFilterResultWithNominatedNode(""),
|
||||||
wantStatus: framework.NewStatus(framework.Unschedulable, "preemption: 0/2 nodes are available: 1 Insufficient cpu, 1 No victims found on node node1 for preemptor pod p."),
|
wantStatus: framework.NewStatus(framework.Unschedulable, "preemption: 0/3 nodes are available: 1 Insufficient cpu, 2 No preemption victims found for incoming pod."),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "no candidate nodes found with mixed reason, 2 UnschedulableAndUnresolvable nodes and 2 nodes don't have enough CPU resource",
|
name: "no candidate nodes found with mixed reason, 2 UnschedulableAndUnresolvable nodes and 2 nodes don't have enough CPU resource",
|
||||||
|
Loading…
Reference in New Issue
Block a user