@@ -147,6 +147,7 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
147
147
"node1" : framework .NewStatus (framework .Unschedulable , interpodaffinity .ErrReasonAntiAffinityRulesNotMatch ),
148
148
"node2" : framework .NewStatus (framework .UnschedulableAndUnresolvable , nodename .ErrReason ),
149
149
"node3" : framework .NewStatus (framework .UnschedulableAndUnresolvable , nodeunschedulable .ErrReasonUnschedulable ),
150
+ "node4" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
150
151
},
151
152
expected : sets .New ("node1" , "node4" ),
152
153
},
@@ -155,6 +156,8 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
155
156
nodesStatuses : framework.NodeToStatusMap {
156
157
"node1" : framework .NewStatus (framework .UnschedulableAndUnresolvable , interpodaffinity .ErrReasonAffinityRulesNotMatch ),
157
158
"node2" : framework .NewStatus (framework .Unschedulable , interpodaffinity .ErrReasonAntiAffinityRulesNotMatch ),
159
+ "node3" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
160
+ "node4" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
158
161
},
159
162
expected : sets .New ("node2" , "node3" , "node4" ),
160
163
},
@@ -163,13 +166,18 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
163
166
nodesStatuses : framework.NodeToStatusMap {
164
167
"node1" : framework .NewStatus (framework .UnschedulableAndUnresolvable , volumerestrictions .ErrReasonDiskConflict ),
165
168
"node2" : framework .NewStatus (framework .Unschedulable , fmt .Sprintf ("Insufficient %v" , v1 .ResourceMemory )),
169
+ "node3" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
170
+ "node4" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
166
171
},
167
172
expected : sets .New ("node2" , "node3" , "node4" ),
168
173
},
169
174
{
170
175
name : "Node condition errors should be considered unresolvable" ,
171
176
nodesStatuses : framework.NodeToStatusMap {
172
177
"node1" : framework .NewStatus (framework .UnschedulableAndUnresolvable , nodeunschedulable .ErrReasonUnknownCondition ),
178
+ "node2" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
179
+ "node3" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
180
+ "node4" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
173
181
},
174
182
expected : sets .New ("node2" , "node3" , "node4" ),
175
183
},
@@ -179,6 +187,7 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
179
187
"node1" : framework .NewStatus (framework .UnschedulableAndUnresolvable , volumezone .ErrReasonConflict ),
180
188
"node2" : framework .NewStatus (framework .UnschedulableAndUnresolvable , string (volumebinding .ErrReasonNodeConflict )),
181
189
"node3" : framework .NewStatus (framework .UnschedulableAndUnresolvable , string (volumebinding .ErrReasonBindConflict )),
190
+ "node4" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
182
191
},
183
192
expected : sets .New ("node4" ),
184
193
},
@@ -188,12 +197,14 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
188
197
"node1" : framework .NewStatus (framework .Unschedulable , podtopologyspread .ErrReasonConstraintsNotMatch ),
189
198
"node2" : framework .NewStatus (framework .UnschedulableAndUnresolvable , nodename .ErrReason ),
190
199
"node3" : framework .NewStatus (framework .Unschedulable , podtopologyspread .ErrReasonConstraintsNotMatch ),
200
+ "node4" : framework .NewStatus (framework .Unschedulable , "Unschedulable" ),
191
201
},
192
202
expected : sets .New ("node1" , "node3" , "node4" ),
193
203
},
194
204
{
195
205
name : "UnschedulableAndUnresolvable status should be skipped but Unschedulable should be tried" ,
196
206
nodesStatuses : framework.NodeToStatusMap {
207
+ "node1" : framework .NewStatus (framework .Unschedulable , "" ),
197
208
"node2" : framework .NewStatus (framework .UnschedulableAndUnresolvable , "" ),
198
209
"node3" : framework .NewStatus (framework .Unschedulable , "" ),
199
210
"node4" : framework .NewStatus (framework .UnschedulableAndUnresolvable , "" ),
@@ -203,6 +214,7 @@ func TestNodesWherePreemptionMightHelp(t *testing.T) {
203
214
{
204
215
name : "ErrReasonNodeLabelNotMatch should not be tried as it indicates that the pod is unschedulable due to node doesn't have the required label" ,
205
216
nodesStatuses : framework.NodeToStatusMap {
217
+ "node1" : framework .NewStatus (framework .Unschedulable , "" ),
206
218
"node2" : framework .NewStatus (framework .UnschedulableAndUnresolvable , podtopologyspread .ErrReasonNodeLabelNotMatch ),
207
219
"node3" : framework .NewStatus (framework .Unschedulable , "" ),
208
220
"node4" : framework .NewStatus (framework .UnschedulableAndUnresolvable , "" ),
0 commit comments