Skip to content

Commit 75872b8

Browse files
author
draveness
committed
feat: implement node affinity priority as score plugin
+ Add DefaultNormalizeScore function + Implement NodeAffinity as score plugin
1 parent bb7bad4 commit 75872b8

File tree

12 files changed

+201
-273
lines changed

12 files changed

+201
-273
lines changed

pkg/scheduler/algorithm/priorities/BUILD

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ go_library(
1414
"least_requested.go",
1515
"metadata.go",
1616
"most_requested.go",
17-
"node_affinity.go",
1817
"node_prefer_avoid_pods.go",
1918
"priorities.go",
2019
"reduce.go",
@@ -55,7 +54,6 @@ go_test(
5554
"least_requested_test.go",
5655
"metadata_test.go",
5756
"most_requested_test.go",
58-
"node_affinity_test.go",
5957
"node_prefer_avoid_pods_test.go",
6058
"requested_to_capacity_ratio_test.go",
6159
"resource_limits_test.go",

pkg/scheduler/algorithm/priorities/metadata.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ func NewMetadataFactory(
5757
// priorityMetadata is a type that is passed as metadata for priority functions
5858
type priorityMetadata struct {
5959
podLimits *schedulernodeinfo.Resource
60-
affinity *v1.Affinity
6160
podSelector labels.Selector
6261
controllerRef *metav1.OwnerReference
6362
podFirstServiceSelector labels.Selector
@@ -87,7 +86,6 @@ func (pmf *MetadataFactory) PriorityMetadata(
8786
}
8887
return &priorityMetadata{
8988
podLimits: getResourceLimits(pod),
90-
affinity: pod.Spec.Affinity,
9189
podSelector: getSelector(pod, pmf.serviceLister, pmf.controllerLister, pmf.replicaSetLister, pmf.statefulSetLister),
9290
controllerRef: metav1.GetControllerOf(pod),
9391
podFirstServiceSelector: getFirstServiceSelector(pod, pmf.serviceLister),

pkg/scheduler/algorithm/priorities/metadata_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ func TestPriorityMetadata(t *testing.T) {
139139
pod: podWithTolerationsAndAffinity,
140140
expected: &priorityMetadata{
141141
podLimits: nonPodLimits,
142-
affinity: podAffinity,
143142
podSelector: labels.NewSelector(),
144143
},
145144
name: "Produce a priorityMetadata with default requests",
@@ -148,7 +147,6 @@ func TestPriorityMetadata(t *testing.T) {
148147
pod: podWithTolerationsAndRequests,
149148
expected: &priorityMetadata{
150149
podLimits: nonPodLimits,
151-
affinity: nil,
152150
podSelector: labels.NewSelector(),
153151
},
154152
name: "Produce a priorityMetadata with tolerations and requests",
@@ -157,7 +155,6 @@ func TestPriorityMetadata(t *testing.T) {
157155
pod: podWithAffinityAndRequests,
158156
expected: &priorityMetadata{
159157
podLimits: specifiedPodLimits,
160-
affinity: podAffinity,
161158
podSelector: labels.NewSelector(),
162159
},
163160
name: "Produce a priorityMetadata with affinity and requests",

pkg/scheduler/algorithm/priorities/node_affinity.go

Lines changed: 0 additions & 77 deletions
This file was deleted.

pkg/scheduler/algorithm/priorities/node_affinity_test.go

Lines changed: 0 additions & 180 deletions
This file was deleted.

pkg/scheduler/algorithmprovider/defaults/register_priorities.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func init() {
8383
scheduler.RegisterPriorityMapReduceFunction(priorities.NodePreferAvoidPodsPriority, priorities.CalculateNodePreferAvoidPodsPriorityMap, nil, 10000)
8484

8585
// Prioritizes nodes that have labels matching NodeAffinity
86-
scheduler.RegisterPriorityMapReduceFunction(priorities.NodeAffinityPriority, priorities.CalculateNodeAffinityPriorityMap, priorities.CalculateNodeAffinityPriorityReduce, 1)
86+
scheduler.RegisterPriorityMapReduceFunction(priorities.NodeAffinityPriority, nil, nil, 1)
8787

8888
// Prioritizes nodes that marked with taint which pod can tolerate.
8989
scheduler.RegisterPriorityMapReduceFunction(priorities.TaintTolerationPriority, nil, nil, 1)

pkg/scheduler/framework/plugins/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ filegroup(
4747
":package-srcs",
4848
"//pkg/scheduler/framework/plugins/defaultpodtopologyspread:all-srcs",
4949
"//pkg/scheduler/framework/plugins/examples:all-srcs",
50+
"//pkg/scheduler/framework/plugins/helper:all-srcs",
5051
"//pkg/scheduler/framework/plugins/imagelocality:all-srcs",
5152
"//pkg/scheduler/framework/plugins/interpodaffinity:all-srcs",
5253
"//pkg/scheduler/framework/plugins/migration:all-srcs",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
2+
3+
go_library(
4+
name = "go_default_library",
5+
srcs = ["normalize_score.go"],
6+
importpath = "k8s.io/kubernetes/pkg/scheduler/framework/plugins/helper",
7+
visibility = ["//visibility:public"],
8+
deps = ["//pkg/scheduler/framework/v1alpha1:go_default_library"],
9+
)
10+
11+
go_test(
12+
name = "go_default_test",
13+
srcs = ["normalize_score_test.go"],
14+
embed = [":go_default_library"],
15+
deps = ["//pkg/scheduler/framework/v1alpha1:go_default_library"],
16+
)
17+
18+
filegroup(
19+
name = "package-srcs",
20+
srcs = glob(["**"]),
21+
tags = ["automanaged"],
22+
visibility = ["//visibility:private"],
23+
)
24+
25+
filegroup(
26+
name = "all-srcs",
27+
srcs = [":package-srcs"],
28+
tags = ["automanaged"],
29+
visibility = ["//visibility:public"],
30+
)

0 commit comments

Comments
 (0)