Skip to content

Commit e5f0648

Browse files
authored
Merge pull request kubernetes#86284 from ahg-g/ahg1-prefilter2
Register nodeports and noderesources prefilters
2 parents 3c04760 + b3abfdc commit e5f0648

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

pkg/scheduler/algorithmprovider/defaults/defaults_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ func TestCompatibility(t *testing.T) {
104104
name: "No Provider specified",
105105
wantPlugins: map[string][]config.Plugin{
106106
"PreFilterPlugin": {
107+
{Name: "NodeResourcesFit"},
108+
{Name: "NodePorts"},
107109
{Name: "InterPodAffinity"},
108110
},
109111
"FilterPlugin": {
@@ -139,6 +141,8 @@ func TestCompatibility(t *testing.T) {
139141
provider: config.SchedulerDefaultProviderName,
140142
wantPlugins: map[string][]config.Plugin{
141143
"PreFilterPlugin": {
144+
{Name: "NodeResourcesFit"},
145+
{Name: "NodePorts"},
142146
{Name: "InterPodAffinity"},
143147
},
144148
"FilterPlugin": {
@@ -174,6 +178,8 @@ func TestCompatibility(t *testing.T) {
174178
provider: ClusterAutoscalerProvider,
175179
wantPlugins: map[string][]config.Plugin{
176180
"PreFilterPlugin": {
181+
{Name: "NodeResourcesFit"},
182+
{Name: "NodePorts"},
177183
{Name: "InterPodAffinity"},
178184
},
179185
"FilterPlugin": {

pkg/scheduler/apis/config/testing/compatibility_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
6464
]
6565
}`,
6666
wantPlugins: map[string][]config.Plugin{
67+
"PreFilterPlugin": {
68+
{Name: "NodeResourcesFit"},
69+
{Name: "NodePorts"},
70+
},
6771
"FilterPlugin": {
6872
{Name: "NodeUnschedulable"},
6973
{Name: "NodeResourcesFit"},
@@ -118,6 +122,7 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
118122
),
119123
wantPlugins: map[string][]config.Plugin{
120124
"PreFilterPlugin": {
125+
{Name: "NodeResourcesFit"},
121126
{Name: "ServiceAffinity"},
122127
},
123128
"FilterPlugin": {
@@ -164,6 +169,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
164169
wantPredicates: sets.NewString(),
165170
wantPlugins: map[string][]config.Plugin{
166171
"PreFilterPlugin": {
172+
{Name: "NodePorts"},
173+
{Name: "NodeResourcesFit"},
167174
{Name: "ServiceAffinity"},
168175
},
169176
"FilterPlugin": {
@@ -219,6 +226,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
219226
wantPredicates: sets.NewString(),
220227
wantPlugins: map[string][]config.Plugin{
221228
"PreFilterPlugin": {
229+
{Name: "NodePorts"},
230+
{Name: "NodeResourcesFit"},
222231
{Name: "ServiceAffinity"},
223232
},
224233
"FilterPlugin": {
@@ -283,6 +292,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
283292
wantPredicates: sets.NewString(),
284293
wantPlugins: map[string][]config.Plugin{
285294
"PreFilterPlugin": {
295+
{Name: "NodePorts"},
296+
{Name: "NodeResourcesFit"},
286297
{Name: "ServiceAffinity"},
287298
{Name: "InterPodAffinity"},
288299
},
@@ -351,6 +362,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
351362
wantPredicates: sets.NewString(),
352363
wantPlugins: map[string][]config.Plugin{
353364
"PreFilterPlugin": {
365+
{Name: "NodePorts"},
366+
{Name: "NodeResourcesFit"},
354367
{Name: "ServiceAffinity"},
355368
{Name: "InterPodAffinity"},
356369
},
@@ -430,6 +443,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
430443
wantPredicates: sets.NewString(),
431444
wantPlugins: map[string][]config.Plugin{
432445
"PreFilterPlugin": {
446+
{Name: "NodePorts"},
447+
{Name: "NodeResourcesFit"},
433448
{Name: "ServiceAffinity"},
434449
{Name: "InterPodAffinity"},
435450
},
@@ -520,6 +535,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
520535
wantPredicates: sets.NewString(),
521536
wantPlugins: map[string][]config.Plugin{
522537
"PreFilterPlugin": {
538+
{Name: "NodePorts"},
539+
{Name: "NodeResourcesFit"},
523540
{Name: "ServiceAffinity"},
524541
{Name: "InterPodAffinity"},
525542
},
@@ -611,6 +628,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
611628
wantPredicates: sets.NewString(),
612629
wantPlugins: map[string][]config.Plugin{
613630
"PreFilterPlugin": {
631+
{Name: "NodePorts"},
632+
{Name: "NodeResourcesFit"},
614633
{Name: "ServiceAffinity"},
615634
{Name: "InterPodAffinity"},
616635
},
@@ -706,6 +725,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
706725
wantPredicates: sets.NewString(),
707726
wantPlugins: map[string][]config.Plugin{
708727
"PreFilterPlugin": {
728+
{Name: "NodePorts"},
729+
{Name: "NodeResourcesFit"},
709730
{Name: "ServiceAffinity"},
710731
{Name: "InterPodAffinity"},
711732
},
@@ -813,6 +834,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
813834
wantPredicates: sets.NewString(),
814835
wantPlugins: map[string][]config.Plugin{
815836
"PreFilterPlugin": {
837+
{Name: "NodePorts"},
838+
{Name: "NodeResourcesFit"},
816839
{Name: "ServiceAffinity"},
817840
{Name: "InterPodAffinity"},
818841
},
@@ -922,6 +945,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
922945
wantPredicates: sets.NewString(),
923946
wantPlugins: map[string][]config.Plugin{
924947
"PreFilterPlugin": {
948+
{Name: "NodePorts"},
949+
{Name: "NodeResourcesFit"},
925950
{Name: "ServiceAffinity"},
926951
{Name: "InterPodAffinity"},
927952
},
@@ -1031,6 +1056,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
10311056
wantPredicates: sets.NewString(),
10321057
wantPlugins: map[string][]config.Plugin{
10331058
"PreFilterPlugin": {
1059+
{Name: "NodePorts"},
1060+
{Name: "NodeResourcesFit"},
10341061
{Name: "ServiceAffinity"},
10351062
{Name: "InterPodAffinity"},
10361063
},
@@ -1145,6 +1172,8 @@ func TestCompatibility_v1_Scheduler(t *testing.T) {
11451172
wantPredicates: sets.NewString(),
11461173
wantPlugins: map[string][]config.Plugin{
11471174
"PreFilterPlugin": {
1175+
{Name: "NodePorts"},
1176+
{Name: "NodeResourcesFit"},
11481177
{Name: "ServiceAffinity"},
11491178
{Name: "InterPodAffinity"},
11501179
},

pkg/scheduler/framework/plugins/default_registry.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,11 @@ func NewDefaultConfigProducerRegistry() *ConfigProducerRegistry {
124124
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
125125
// GeneralPredicate is a combination of predicates.
126126
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
127+
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
127128
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
128129
plugins.Filter = appendToPluginSet(plugins.Filter, nodename.Name, nil)
129130
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
131+
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, nodeports.Name, nil)
130132
plugins.Filter = appendToPluginSet(plugins.Filter, nodeaffinity.Name, nil)
131133
return
132134
})
@@ -138,6 +140,7 @@ func NewDefaultConfigProducerRegistry() *ConfigProducerRegistry {
138140
registry.RegisterPredicate(predicates.PodFitsResourcesPred,
139141
func(args ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
140142
plugins.Filter = appendToPluginSet(plugins.Filter, noderesources.FitName, nil)
143+
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, noderesources.FitName, nil)
141144
pluginConfig = append(pluginConfig, makePluginConfig(noderesources.FitName, args.NodeResourcesFitArgs))
142145
return
143146
})
@@ -149,6 +152,7 @@ func NewDefaultConfigProducerRegistry() *ConfigProducerRegistry {
149152
registry.RegisterPredicate(predicates.PodFitsHostPortsPred,
150153
func(_ ConfigProducerArgs) (plugins config.Plugins, pluginConfig []config.PluginConfig) {
151154
plugins.Filter = appendToPluginSet(plugins.Filter, nodeports.Name, nil)
155+
plugins.PreFilter = appendToPluginSet(plugins.PreFilter, nodeports.Name, nil)
152156
return
153157
})
154158
registry.RegisterPredicate(predicates.MatchNodeSelectorPred,

test/integration/scheduler/scheduler_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ func TestSchedulerCreationFromConfigMap(t *testing.T) {
126126
}`,
127127
expectedPlugins: map[string][]kubeschedulerconfig.Plugin{
128128
"PreFilterPlugin": {
129+
{Name: "NodeResourcesFit"},
130+
{Name: "NodePorts"},
129131
{Name: "InterPodAffinity"},
130132
},
131133
"FilterPlugin": {
@@ -200,6 +202,8 @@ kind: Policy
200202
`,
201203
expectedPlugins: map[string][]kubeschedulerconfig.Plugin{
202204
"PreFilterPlugin": {
205+
{Name: "NodeResourcesFit"},
206+
{Name: "NodePorts"},
203207
{Name: "InterPodAffinity"},
204208
},
205209
"FilterPlugin": {

0 commit comments

Comments
 (0)