Merge pull request #9345 from wanyaoqi/bugfix/wyq/fix-gpu-server-change-config-fail

fix(region): gpu server change config use reserved resources
This commit is contained in:
Zexi Li
2020-12-10 20:32:18 +08:00
committed by GitHub
3 changed files with 10 additions and 3 deletions
+5
View File
@@ -86,6 +86,11 @@ type ScheduleInput struct {
// we don't need reallocate network
ReuseNetwork bool `json:"reuse_network"`
// Change config
ChangeConfig bool
// guest who change config has isolated device
HasIsolatedDevice bool
PendingUsages []jsonutils.JSONObject
}
+4 -2
View File
@@ -2542,7 +2542,7 @@ func (self *SGuest) PerformChangeConfig(ctx context.Context, userCred mcclient.T
}
// schedulr forecast
schedDesc := self.confToSchedDesc(addCpu, addMem, addDisk)
schedDesc := self.changeConfToSchedDesc(addCpu, addMem, addDisk)
s := auth.GetAdminSession(ctx, options.Options.Region, "")
canChangeConf, err := modules.SchedManager.DoScheduleForecast(s, schedDesc, 1)
if err != nil {
@@ -2588,7 +2588,7 @@ func (self *SGuest) PerformChangeConfig(ctx context.Context, userCred mcclient.T
return nil, nil
}
func (self *SGuest) confToSchedDesc(addCpu, addMem, addDisk int) *schedapi.ScheduleInput {
func (self *SGuest) changeConfToSchedDesc(addCpu, addMem, addDisk int) *schedapi.ScheduleInput {
guestDisks := self.GetDisks()
diskInfo := guestDisks[0].ToDiskConfig()
diskInfo.SizeMb = addDisk
@@ -2605,6 +2605,8 @@ func (self *SGuest) confToSchedDesc(addCpu, addMem, addDisk int) *schedapi.Sched
Project: self.ProjectId,
Domain: self.DomainId,
},
ChangeConfig: true,
HasIsolatedDevice: len(self.GetIsolatedDevices()) > 0,
}
return desc
}
@@ -200,7 +200,7 @@ func (h *PredicateHelper) UseReserved() bool {
usable := false
data := h.Unit.SchedData()
isoDevs := data.IsolatedDevices
if len(isoDevs) > 0 {
if len(isoDevs) > 0 || (data.ChangeConfig && data.HasIsolatedDevice) {
usable = true
}
return usable