mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-01 18:58:18 +00:00
Sched framework: expose NodeInfo in all functions of PluginsRunner interface
This commit is contained in:
@@ -113,13 +113,13 @@ func (f *fakeExtender) SupportsPreemption() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (f *fakeExtender) Filter(pod *v1.Pod, nodes []*v1.Node) ([]*v1.Node, extenderv1.FailedNodesMap, extenderv1.FailedNodesMap, error) {
|
||||
func (f *fakeExtender) Filter(pod *v1.Pod, nodes []*framework.NodeInfo) ([]*framework.NodeInfo, extenderv1.FailedNodesMap, extenderv1.FailedNodesMap, error) {
|
||||
return nil, nil, nil, nil
|
||||
}
|
||||
|
||||
func (f *fakeExtender) Prioritize(
|
||||
_ *v1.Pod,
|
||||
_ []*v1.Node,
|
||||
_ []*framework.NodeInfo,
|
||||
) (hostPriorities *extenderv1.HostPriorityList, weight int64, err error) {
|
||||
return nil, 0, nil
|
||||
}
|
||||
@@ -1627,11 +1627,11 @@ func TestFindNodesThatPassExtenders(t *testing.T) {
|
||||
extenders: []tf.FakeExtender{
|
||||
{
|
||||
ExtenderName: "FakeExtender1",
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *v1.Node) *framework.Status {
|
||||
if node.Name == "a" {
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *framework.NodeInfo) *framework.Status {
|
||||
if node.Node().Name == "a" {
|
||||
return framework.NewStatus(framework.Success)
|
||||
}
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}},
|
||||
},
|
||||
},
|
||||
@@ -1648,14 +1648,14 @@ func TestFindNodesThatPassExtenders(t *testing.T) {
|
||||
extenders: []tf.FakeExtender{
|
||||
{
|
||||
ExtenderName: "FakeExtender1",
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *v1.Node) *framework.Status {
|
||||
if node.Name == "a" {
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *framework.NodeInfo) *framework.Status {
|
||||
if node.Node().Name == "a" {
|
||||
return framework.NewStatus(framework.Success)
|
||||
}
|
||||
if node.Name == "b" {
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
if node.Node().Name == "b" {
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}},
|
||||
},
|
||||
},
|
||||
@@ -1673,14 +1673,14 @@ func TestFindNodesThatPassExtenders(t *testing.T) {
|
||||
extenders: []tf.FakeExtender{
|
||||
{
|
||||
ExtenderName: "FakeExtender1",
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *v1.Node) *framework.Status {
|
||||
if node.Name == "a" {
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *framework.NodeInfo) *framework.Status {
|
||||
if node.Node().Name == "a" {
|
||||
return framework.NewStatus(framework.Success)
|
||||
}
|
||||
if node.Name == "b" {
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
if node.Node().Name == "b" {
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}},
|
||||
},
|
||||
},
|
||||
@@ -1700,23 +1700,23 @@ func TestFindNodesThatPassExtenders(t *testing.T) {
|
||||
extenders: []tf.FakeExtender{
|
||||
{
|
||||
ExtenderName: "FakeExtender1",
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *v1.Node) *framework.Status {
|
||||
if node.Name == "a" {
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *framework.NodeInfo) *framework.Status {
|
||||
if node.Node().Name == "a" {
|
||||
return framework.NewStatus(framework.Success)
|
||||
}
|
||||
if node.Name == "b" {
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
if node.Node().Name == "b" {
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}},
|
||||
},
|
||||
{
|
||||
ExtenderName: "FakeExtender1",
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *v1.Node) *framework.Status {
|
||||
if node.Name == "a" {
|
||||
Predicates: []tf.FitPredicate{func(pod *v1.Pod, node *framework.NodeInfo) *framework.Status {
|
||||
if node.Node().Name == "a" {
|
||||
return framework.NewStatus(framework.Success)
|
||||
}
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Name))
|
||||
return framework.NewStatus(framework.Unschedulable, fmt.Sprintf("node %q is not allowed", node.Node().Name))
|
||||
}},
|
||||
},
|
||||
},
|
||||
@@ -1746,7 +1746,11 @@ func TestFindNodesThatPassExtenders(t *testing.T) {
|
||||
}
|
||||
|
||||
pod := st.MakePod().Name("1").UID("1").Obj()
|
||||
got, err := findNodesThatPassExtenders(ctx, extenders, pod, tt.nodes, tt.filteredNodesStatuses)
|
||||
got, err := findNodesThatPassExtenders(ctx, extenders, pod, tf.BuildNodeInfos(tt.nodes), tt.filteredNodesStatuses)
|
||||
nodes := make([]*v1.Node, len(got))
|
||||
for i := 0; i < len(got); i++ {
|
||||
nodes[i] = got[i].Node()
|
||||
}
|
||||
if tt.expectsErr {
|
||||
if err == nil {
|
||||
t.Error("Unexpected non-error")
|
||||
@@ -1755,7 +1759,7 @@ func TestFindNodesThatPassExtenders(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Errorf("Unexpected error: %v", err)
|
||||
}
|
||||
if diff := cmp.Diff(tt.expectedNodes, got); diff != "" {
|
||||
if diff := cmp.Diff(tt.expectedNodes, nodes); diff != "" {
|
||||
t.Errorf("filtered nodes (-want,+got):\n%s", diff)
|
||||
}
|
||||
if diff := cmp.Diff(tt.expectedStatuses, tt.filteredNodesStatuses, cmpOpts...); diff != "" {
|
||||
@@ -2702,8 +2706,8 @@ func TestZeroRequest(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("error filtering nodes: %+v", err)
|
||||
}
|
||||
fwk.RunPreScorePlugins(ctx, state, test.pod, test.nodes)
|
||||
list, err := prioritizeNodes(ctx, nil, fwk, state, test.pod, test.nodes)
|
||||
fwk.RunPreScorePlugins(ctx, state, test.pod, tf.BuildNodeInfos(test.nodes))
|
||||
list, err := prioritizeNodes(ctx, nil, fwk, state, test.pod, tf.BuildNodeInfos(test.nodes))
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
@@ -3099,7 +3103,7 @@ func Test_prioritizeNodes(t *testing.T) {
|
||||
for ii := range test.extenders {
|
||||
extenders = append(extenders, &test.extenders[ii])
|
||||
}
|
||||
nodesscores, err := prioritizeNodes(ctx, extenders, fwk, state, test.pod, test.nodes)
|
||||
nodesscores, err := prioritizeNodes(ctx, extenders, fwk, state, test.pod, tf.BuildNodeInfos(test.nodes))
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user