@@ -115,6 +115,7 @@ func TestPreCheckForNode(t *testing.T) {
115
115
nodeFn func () * v1.Node
116
116
existingPods , pods []* v1.Pod
117
117
want []bool
118
+ qHintEnabled bool
118
119
}{
119
120
{
120
121
name : "regular node, pods with a single constraint" ,
@@ -137,6 +138,28 @@ func TestPreCheckForNode(t *testing.T) {
137
138
},
138
139
want : []bool {true , false , false , true , false , true , false , true , false },
139
140
},
141
+ {
142
+ name : "no filtering when QHint is enabled" ,
143
+ nodeFn : func () * v1.Node {
144
+ return st .MakeNode ().Name ("fake-node" ).Label ("hostname" , "fake-node" ).Capacity (cpu8 ).Obj ()
145
+ },
146
+ existingPods : []* v1.Pod {
147
+ st .MakePod ().Name ("p" ).HostPort (80 ).Obj (),
148
+ },
149
+ pods : []* v1.Pod {
150
+ st .MakePod ().Name ("p1" ).Req (cpu4 ).Obj (),
151
+ st .MakePod ().Name ("p2" ).Req (cpu16 ).Obj (),
152
+ st .MakePod ().Name ("p3" ).Req (cpu4 ).Req (cpu8 ).Obj (),
153
+ st .MakePod ().Name ("p4" ).NodeAffinityIn ("hostname" , []string {"fake-node" }).Obj (),
154
+ st .MakePod ().Name ("p5" ).NodeAffinityNotIn ("hostname" , []string {"fake-node" }).Obj (),
155
+ st .MakePod ().Name ("p6" ).Obj (),
156
+ st .MakePod ().Name ("p7" ).Node ("invalid-node" ).Obj (),
157
+ st .MakePod ().Name ("p8" ).HostPort (8080 ).Obj (),
158
+ st .MakePod ().Name ("p9" ).HostPort (80 ).Obj (),
159
+ },
160
+ qHintEnabled : true ,
161
+ want : []bool {true , true , true , true , true , true , true , true , true },
162
+ },
140
163
{
141
164
name : "tainted node, pods with a single constraint" ,
142
165
nodeFn : func () * v1.Node {
@@ -194,13 +217,15 @@ func TestPreCheckForNode(t *testing.T) {
194
217
195
218
for _ , tt := range tests {
196
219
t .Run (tt .name , func (t * testing.T ) {
220
+ featuregatetesting .SetFeatureGateDuringTest (t , utilfeature .DefaultFeatureGate , features .SchedulerQueueingHints , tt .qHintEnabled )
221
+
197
222
nodeInfo := framework .NewNodeInfo (tt .existingPods ... )
198
223
nodeInfo .SetNode (tt .nodeFn ())
199
224
preCheckFn := preCheckForNode (nodeInfo )
200
225
201
- var got []bool
226
+ got := make ( []bool , 0 , len ( tt . pods ))
202
227
for _ , pod := range tt .pods {
203
- got = append (got , preCheckFn (pod ))
228
+ got = append (got , preCheckFn == nil || preCheckFn (pod ))
204
229
}
205
230
206
231
if diff := cmp .Diff (tt .want , got ); diff != "" {
0 commit comments