Skip to content

Commit 886cf06

Browse files
authored
Merge pull request kubernetes#86684 from Huang-Wei/eps-move-prio
Move podtopologyspread priority logic to its Score plugin
2 parents a097243 + 7835224 commit 886cf06

File tree

12 files changed

+446
-451
lines changed

12 files changed

+446
-451
lines changed

pkg/scheduler/algorithm/priorities/BUILD

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ go_library(
1010
name = "go_default_library",
1111
srcs = [
1212
"balanced_resource_allocation.go",
13-
"even_pods_spread.go",
1413
"least_requested.go",
1514
"metadata.go",
1615
"most_requested.go",
@@ -26,7 +25,6 @@ go_library(
2625
deps = [
2726
"//pkg/apis/core/v1/helper:go_default_library",
2827
"//pkg/features:go_default_library",
29-
"//pkg/scheduler/algorithm/predicates:go_default_library",
3028
"//pkg/scheduler/algorithm/priorities/util:go_default_library",
3129
"//pkg/scheduler/framework/v1alpha1:go_default_library",
3230
"//pkg/scheduler/listers:go_default_library",
@@ -39,7 +37,6 @@ go_library(
3937
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
4038
"//staging/src/k8s.io/client-go/listers/apps/v1:go_default_library",
4139
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
42-
"//staging/src/k8s.io/client-go/util/workqueue:go_default_library",
4340
"//vendor/k8s.io/klog:go_default_library",
4441
],
4542
)
@@ -48,7 +45,6 @@ go_test(
4845
name = "go_default_test",
4946
srcs = [
5047
"balanced_resource_allocation_test.go",
51-
"even_pods_spread_test.go",
5248
"least_requested_test.go",
5349
"metadata_test.go",
5450
"most_requested_test.go",

pkg/scheduler/algorithm/priorities/even_pods_spread.go

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

pkg/scheduler/algorithm/priorities/metadata.go

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ import (
2222
"k8s.io/apimachinery/pkg/labels"
2323
appslisters "k8s.io/client-go/listers/apps/v1"
2424
corelisters "k8s.io/client-go/listers/core/v1"
25-
"k8s.io/klog"
2625
schedulerlisters "k8s.io/kubernetes/pkg/scheduler/listers"
27-
schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo"
2826
)
2927

3028
// MetadataFactory is a factory to produce PriorityMetadata.
@@ -56,8 +54,7 @@ func NewMetadataFactory(
5654

5755
// priorityMetadata is a type that is passed as metadata for priority functions
5856
type priorityMetadata struct {
59-
podSelector labels.Selector
60-
podTopologySpreadMap *podTopologySpreadMap
57+
podSelector labels.Selector
6158
}
6259

6360
// PriorityMetadata is a MetadataProducer. Node info can be nil.
@@ -70,20 +67,8 @@ func (pmf *MetadataFactory) PriorityMetadata(
7067
if pod == nil {
7168
return nil
7269
}
73-
var allNodes []*schedulernodeinfo.NodeInfo
74-
if sharedLister != nil {
75-
if l, err := sharedLister.NodeInfos().List(); err == nil {
76-
allNodes = l
77-
}
78-
}
79-
tpSpreadMap, err := buildPodTopologySpreadMap(pod, filteredNodes, allNodes)
80-
if err != nil {
81-
klog.Errorf("Error building podTopologySpreadMap: %v", err)
82-
return nil
83-
}
8470
return &priorityMetadata{
85-
podSelector: getSelector(pod, pmf.serviceLister, pmf.controllerLister, pmf.replicaSetLister, pmf.statefulSetLister),
86-
podTopologySpreadMap: tpSpreadMap,
71+
podSelector: getSelector(pod, pmf.serviceLister, pmf.controllerLister, pmf.replicaSetLister, pmf.statefulSetLister),
8772
}
8873
}
8974

pkg/scheduler/algorithm/priorities/spreading_perf_test.go

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"testing"
2121

2222
v1 "k8s.io/api/core/v1"
23-
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
2423
"k8s.io/kubernetes/pkg/scheduler/listers/fake"
2524
nodeinfosnapshot "k8s.io/kubernetes/pkg/scheduler/nodeinfo/snapshot"
2625
st "k8s.io/kubernetes/pkg/scheduler/testing"
@@ -48,41 +47,6 @@ var (
4847
}
4948
)
5049

51-
func BenchmarkTestDefaultEvenPodsSpreadPriority(b *testing.B) {
52-
for _, tt := range tests {
53-
b.Run(tt.name, func(b *testing.B) {
54-
pod := st.MakePod().Name("p").Label("foo", "").
55-
SpreadConstraint(1, v1.LabelHostname, softSpread, st.MakeLabelSelector().Exists("foo").Obj()).
56-
SpreadConstraint(1, v1.LabelZoneFailureDomain, softSpread, st.MakeLabelSelector().Exists("foo").Obj()).Obj()
57-
existingPods, allNodes, filteredNodes := st.MakeNodesAndPodsForEvenPodsSpread(pod.Labels, tt.existingPodsNum, tt.allNodesNum, tt.allNodesNum)
58-
snapshot := nodeinfosnapshot.NewSnapshot(nodeinfosnapshot.CreateNodeInfoMap(existingPods, allNodes))
59-
b.ResetTimer()
60-
61-
for i := 0; i < b.N; i++ {
62-
tpSpreadMap, err := buildPodTopologySpreadMap(pod, filteredNodes, snapshot.NodeInfoList)
63-
if err != nil {
64-
b.Fatal(err)
65-
}
66-
meta := &priorityMetadata{
67-
podTopologySpreadMap: tpSpreadMap,
68-
}
69-
var gotList framework.NodeScoreList
70-
for _, n := range filteredNodes {
71-
score, err := CalculateEvenPodsSpreadPriorityMap(pod, meta, snapshot.NodeInfoMap[n.Name])
72-
if err != nil {
73-
b.Fatal(err)
74-
}
75-
gotList = append(gotList, score)
76-
}
77-
err = CalculateEvenPodsSpreadPriorityReduce(pod, meta, snapshot, gotList)
78-
if err != nil {
79-
b.Fatal(err)
80-
}
81-
}
82-
})
83-
}
84-
}
85-
8650
func BenchmarkTestSelectorSpreadPriority(b *testing.B) {
8751
for _, tt := range tests {
8852
b.Run(tt.name, func(b *testing.B) {

0 commit comments

Comments
 (0)