@@ -21,9 +21,6 @@ import (
21
21
22
22
"github.com/google/go-cmp/cmp"
23
23
24
- utilfeature "k8s.io/apiserver/pkg/util/feature"
25
- featuregatetesting "k8s.io/component-base/featuregate/testing"
26
- "k8s.io/kubernetes/pkg/features"
27
24
schedulerapi "k8s.io/kubernetes/pkg/scheduler/apis/config"
28
25
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultbinder"
29
26
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/defaultpodtopologyspread"
@@ -132,194 +129,3 @@ func TestClusterAutoscalerProvider(t *testing.T) {
132
129
t .Errorf ("unexpected config diff (-want, +got): %s" , diff )
133
130
}
134
131
}
135
-
136
- func TestApplyFeatureGates (t * testing.T ) {
137
- tests := []struct {
138
- name string
139
- featuresEnabled bool
140
- wantConfig * schedulerapi.Plugins
141
- }{
142
- {
143
- name : "Feature gates disabled" ,
144
- featuresEnabled : false ,
145
- wantConfig : & schedulerapi.Plugins {
146
- QueueSort : & schedulerapi.PluginSet {
147
- Enabled : []schedulerapi.Plugin {
148
- {Name : queuesort .Name },
149
- },
150
- },
151
- PreFilter : & schedulerapi.PluginSet {
152
- Enabled : []schedulerapi.Plugin {
153
- {Name : noderesources .FitName },
154
- {Name : nodeports .Name },
155
- {Name : podtopologyspread .Name },
156
- {Name : interpodaffinity .Name },
157
- },
158
- },
159
- Filter : & schedulerapi.PluginSet {
160
- Enabled : []schedulerapi.Plugin {
161
- {Name : nodeunschedulable .Name },
162
- {Name : noderesources .FitName },
163
- {Name : nodename .Name },
164
- {Name : nodeports .Name },
165
- {Name : nodeaffinity .Name },
166
- {Name : volumerestrictions .Name },
167
- {Name : tainttoleration .Name },
168
- {Name : nodevolumelimits .EBSName },
169
- {Name : nodevolumelimits .GCEPDName },
170
- {Name : nodevolumelimits .CSIName },
171
- {Name : nodevolumelimits .AzureDiskName },
172
- {Name : volumebinding .Name },
173
- {Name : volumezone .Name },
174
- {Name : podtopologyspread .Name },
175
- {Name : interpodaffinity .Name },
176
- },
177
- },
178
- PreScore : & schedulerapi.PluginSet {
179
- Enabled : []schedulerapi.Plugin {
180
- {Name : interpodaffinity .Name },
181
- {Name : podtopologyspread .Name },
182
- {Name : defaultpodtopologyspread .Name },
183
- {Name : tainttoleration .Name },
184
- },
185
- },
186
- Score : & schedulerapi.PluginSet {
187
- Enabled : []schedulerapi.Plugin {
188
- {Name : noderesources .BalancedAllocationName , Weight : 1 },
189
- {Name : imagelocality .Name , Weight : 1 },
190
- {Name : interpodaffinity .Name , Weight : 1 },
191
- {Name : noderesources .LeastAllocatedName , Weight : 1 },
192
- {Name : nodeaffinity .Name , Weight : 1 },
193
- {Name : nodepreferavoidpods .Name , Weight : 10000 },
194
- {Name : podtopologyspread .Name , Weight : 2 },
195
- {Name : defaultpodtopologyspread .Name , Weight : 1 },
196
- {Name : tainttoleration .Name , Weight : 1 },
197
- },
198
- },
199
- Reserve : & schedulerapi.PluginSet {
200
- Enabled : []schedulerapi.Plugin {
201
- {Name : volumebinding .Name },
202
- },
203
- },
204
- Unreserve : & schedulerapi.PluginSet {
205
- Enabled : []schedulerapi.Plugin {
206
- {Name : volumebinding .Name },
207
- },
208
- },
209
- PreBind : & schedulerapi.PluginSet {
210
- Enabled : []schedulerapi.Plugin {
211
- {Name : volumebinding .Name },
212
- },
213
- },
214
- Bind : & schedulerapi.PluginSet {
215
- Enabled : []schedulerapi.Plugin {
216
- {Name : defaultbinder .Name },
217
- },
218
- },
219
- PostBind : & schedulerapi.PluginSet {
220
- Enabled : []schedulerapi.Plugin {
221
- {Name : volumebinding .Name },
222
- },
223
- },
224
- },
225
- },
226
- {
227
- name : "Feature gates enabled" ,
228
- featuresEnabled : true ,
229
- wantConfig : & schedulerapi.Plugins {
230
- QueueSort : & schedulerapi.PluginSet {
231
- Enabled : []schedulerapi.Plugin {
232
- {Name : queuesort .Name },
233
- },
234
- },
235
- PreFilter : & schedulerapi.PluginSet {
236
- Enabled : []schedulerapi.Plugin {
237
- {Name : noderesources .FitName },
238
- {Name : nodeports .Name },
239
- {Name : podtopologyspread .Name },
240
- {Name : interpodaffinity .Name },
241
- },
242
- },
243
- Filter : & schedulerapi.PluginSet {
244
- Enabled : []schedulerapi.Plugin {
245
- {Name : nodeunschedulable .Name },
246
- {Name : noderesources .FitName },
247
- {Name : nodename .Name },
248
- {Name : nodeports .Name },
249
- {Name : nodeaffinity .Name },
250
- {Name : volumerestrictions .Name },
251
- {Name : tainttoleration .Name },
252
- {Name : nodevolumelimits .EBSName },
253
- {Name : nodevolumelimits .GCEPDName },
254
- {Name : nodevolumelimits .CSIName },
255
- {Name : nodevolumelimits .AzureDiskName },
256
- {Name : volumebinding .Name },
257
- {Name : volumezone .Name },
258
- {Name : podtopologyspread .Name },
259
- {Name : interpodaffinity .Name },
260
- },
261
- },
262
- PreScore : & schedulerapi.PluginSet {
263
- Enabled : []schedulerapi.Plugin {
264
- {Name : interpodaffinity .Name },
265
- {Name : podtopologyspread .Name },
266
- {Name : defaultpodtopologyspread .Name },
267
- {Name : tainttoleration .Name },
268
- {Name : noderesources .ResourceLimitsName },
269
- },
270
- },
271
- Score : & schedulerapi.PluginSet {
272
- Enabled : []schedulerapi.Plugin {
273
- {Name : noderesources .BalancedAllocationName , Weight : 1 },
274
- {Name : imagelocality .Name , Weight : 1 },
275
- {Name : interpodaffinity .Name , Weight : 1 },
276
- {Name : noderesources .LeastAllocatedName , Weight : 1 },
277
- {Name : nodeaffinity .Name , Weight : 1 },
278
- {Name : nodepreferavoidpods .Name , Weight : 10000 },
279
- {Name : podtopologyspread .Name , Weight : 2 },
280
- {Name : defaultpodtopologyspread .Name , Weight : 1 },
281
- {Name : tainttoleration .Name , Weight : 1 },
282
- {Name : noderesources .ResourceLimitsName , Weight : 1 },
283
- },
284
- },
285
- Reserve : & schedulerapi.PluginSet {
286
- Enabled : []schedulerapi.Plugin {
287
- {Name : volumebinding .Name },
288
- },
289
- },
290
- Unreserve : & schedulerapi.PluginSet {
291
- Enabled : []schedulerapi.Plugin {
292
- {Name : volumebinding .Name },
293
- },
294
- },
295
- PreBind : & schedulerapi.PluginSet {
296
- Enabled : []schedulerapi.Plugin {
297
- {Name : volumebinding .Name },
298
- },
299
- },
300
- Bind : & schedulerapi.PluginSet {
301
- Enabled : []schedulerapi.Plugin {
302
- {Name : defaultbinder .Name },
303
- },
304
- },
305
- PostBind : & schedulerapi.PluginSet {
306
- Enabled : []schedulerapi.Plugin {
307
- {Name : volumebinding .Name },
308
- },
309
- },
310
- },
311
- },
312
- }
313
-
314
- for _ , test := range tests {
315
- t .Run (test .name , func (t * testing.T ) {
316
- defer featuregatetesting .SetFeatureGateDuringTest (t , utilfeature .DefaultFeatureGate , features .ResourceLimitsPriorityFunction , test .featuresEnabled )()
317
-
318
- r := NewRegistry ()
319
- gotConfig := r [schedulerapi .SchedulerDefaultProviderName ]
320
- if diff := cmp .Diff (test .wantConfig , gotConfig ); diff != "" {
321
- t .Errorf ("unexpected config diff (-want, +got): %s" , diff )
322
- }
323
- })
324
- }
325
- }
0 commit comments