8
8
enginemocks "github.com/projecteru2/core/engine/mocks"
9
9
enginetypes "github.com/projecteru2/core/engine/types"
10
10
lockmocks "github.com/projecteru2/core/lock/mocks"
11
+ resourcetypes "github.com/projecteru2/core/resources/types"
11
12
"github.com/projecteru2/core/scheduler"
12
13
complexscheduler "github.com/projecteru2/core/scheduler/complex"
13
14
schedulermocks "github.com/projecteru2/core/scheduler/mocks"
@@ -120,14 +121,14 @@ func TestRealloc(t *testing.T) {
120
121
simpleMockScheduler := & schedulermocks.Scheduler {}
121
122
scheduler .InitSchedulerV1 (simpleMockScheduler )
122
123
c .scheduler = simpleMockScheduler
123
- simpleMockScheduler .On ("SelectCPUNodes " , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nil , 0 , types .ErrInsufficientMEM ).Once ()
124
+ simpleMockScheduler .On ("ReselectCPUNodes " , mock .Anything , mock .Anything , mock .Anything , mock . Anything ).Return (resourcetypes. ScheduleInfo {} , nil , 0 , types .ErrInsufficientMEM ).Once ()
124
125
err = c .ReallocResource (ctx , newReallocOptions ("c1" , 0.1 , 2 * int64 (units .MiB ), nil , types .TriKeep , types .TriKeep ))
125
126
assert .EqualError (t , err , "cannot alloc a plan, not enough memory" )
126
127
store .AssertExpectations (t )
127
128
simpleMockScheduler .AssertExpectations (t )
128
129
129
130
// failed by wrong total
130
- simpleMockScheduler .On ("SelectCPUNodes " , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nil , 0 , nil ).Once ()
131
+ simpleMockScheduler .On ("ReselectCPUNodes " , mock .Anything , mock .Anything , mock .Anything , mock . Anything ).Return (resourcetypes. ScheduleInfo {} , nil , 0 , nil ).Once ()
131
132
simpleMockScheduler .On ("SelectStorageNodes" , mock .Anything , mock .Anything , mock .Anything ).Return (nil , 100 , nil )
132
133
nodeVolumePlans := map [string ][]types.VolumePlan {
133
134
"node1" : {{types .MustToVolumeBinding ("AUTO:/data:rw:50" ): types.VolumeMap {"/dir0" : 50 }}},
@@ -168,7 +169,7 @@ func TestRealloc(t *testing.T) {
168
169
store .AssertExpectations (t )
169
170
170
171
// failed by update workload
171
- simpleMockScheduler .On ("SelectCPUNodes " , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nodeCPUPlans , 2 , nil ).Once ()
172
+ simpleMockScheduler .On ("ReselectCPUNodes " , mock .Anything , mock .Anything , mock .Anything , mock . Anything ).Return (resourcetypes. ScheduleInfo {} , nodeCPUPlans , 2 , nil ).Once ()
172
173
simpleMockScheduler .On ("SelectVolumeNodes" , mock .Anything , mock .Anything ).Return (nil , nil , 100 , nil ).Once ()
173
174
engine .On ("VirtualizationUpdateResource" , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
174
175
store .On ("UpdateWorkload" , mock .Anything , mock .Anything ).Return (types .ErrBadWorkloadID ).Times (1 )
@@ -186,15 +187,15 @@ func TestRealloc(t *testing.T) {
186
187
{types .MustToVolumeBinding ("AUTO:/data:rw:100" ): types.VolumeMap {"/dir4" : 100 }},
187
188
},
188
189
}
189
- simpleMockScheduler .On ("SelectCPUNodes " , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nodeCPUPlans , 2 , nil ).Once ()
190
+ simpleMockScheduler .On ("ReselectCPUNodes " , mock .Anything , mock .Anything , mock .Anything , mock . Anything ).Return (resourcetypes. ScheduleInfo {} , nodeCPUPlans , 2 , nil ).Once ()
190
191
simpleMockScheduler .On ("SelectVolumeNodes" , mock .Anything , mock .Anything ).Return (nil , nodeVolumePlans , 4 , nil ).Once ()
191
192
err = c .ReallocResource (ctx , newReallocOptions ("c1" , 0.1 , int64 (units .MiB ), types .MustToVolumeBindings ([]string {"AUTO:/data:rw:50" }), types .TriKeep , types .TriKeep ))
192
193
assert .EqualError (t , err , "incompatible volume plans: cannot alloc a plan, not enough volume" )
193
194
simpleMockScheduler .AssertExpectations (t )
194
195
store .AssertExpectations (t )
195
196
196
197
// failed by volume schedule error
197
- simpleMockScheduler .On ("SelectCPUNodes " , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nodeCPUPlans , 2 , nil ).Once ()
198
+ simpleMockScheduler .On ("ReselectCPUNodes " , mock .Anything , mock .Anything , mock .Anything , mock . Anything ).Return (resourcetypes. ScheduleInfo {} , nodeCPUPlans , 2 , nil ).Once ()
198
199
simpleMockScheduler .On ("SelectVolumeNodes" , mock .Anything , mock .Anything ).Return (nil , nil , 0 , types .ErrInsufficientVolume ).Once ()
199
200
err = c .ReallocResource (ctx , newReallocOptions ("c1" , 0.1 , int64 (units .MiB ), types .MustToVolumeBindings ([]string {"AUTO:/data:rw:1" }), types .TriKeep , types .TriKeep ))
200
201
assert .EqualError (t , err , "cannot alloc a plan, not enough volume" )
@@ -257,7 +258,7 @@ func TestRealloc(t *testing.T) {
257
258
},
258
259
},
259
260
}
260
- simpleMockScheduler .On ("SelectCPUNodes " , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nodeCPUPlans , 2 , nil )
261
+ simpleMockScheduler .On ("ReselectCPUNodes " , mock .Anything , mock .Anything , mock .Anything , mock . Anything ).Return (resourcetypes. ScheduleInfo {} , nodeCPUPlans , 2 , nil )
261
262
simpleMockScheduler .On ("SelectVolumeNodes" , mock .Anything , mock .Anything ).Return (nil , nodeVolumePlans , 2 , nil )
262
263
store .On ("GetNode" , mock .Anything , "node2" ).Return (node2 , nil )
263
264
store .On ("GetWorkloads" , mock .Anything , []string {"c3" }).Return ([]* types.Workload {c3 }, nil )
0 commit comments