mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-05-06 21:52:54 +08:00
fix(region): avoid change to the same config sku not effective (#23202)
This commit is contained in:
@@ -37,8 +37,6 @@ func init() {
|
||||
models.RegisterGuestDriver(&driver)
|
||||
}
|
||||
|
||||
func (self *SBaiduGuestDriver) DoScheduleSKUFilter() bool { return false }
|
||||
|
||||
func (self *SBaiduGuestDriver) GetHypervisor() string {
|
||||
return api.HYPERVISOR_BAIDU
|
||||
}
|
||||
|
||||
@@ -34,8 +34,6 @@ func init() {
|
||||
models.RegisterGuestDriver(&driver)
|
||||
}
|
||||
|
||||
func (self *SCucloudGuestDriver) DoScheduleSKUFilter() bool { return false }
|
||||
|
||||
func (self *SCucloudGuestDriver) GetHypervisor() string {
|
||||
return api.HYPERVISOR_CUCLOUD
|
||||
}
|
||||
|
||||
@@ -34,8 +34,6 @@ func init() {
|
||||
models.RegisterGuestDriver(&driver)
|
||||
}
|
||||
|
||||
func (self *SKsyunGuestDriver) DoScheduleSKUFilter() bool { return false }
|
||||
|
||||
func (self *SKsyunGuestDriver) GetHypervisor() string {
|
||||
return api.HYPERVISOR_KSYUN
|
||||
}
|
||||
|
||||
@@ -1146,7 +1146,7 @@ func (drv *SManagedVirtualizedGuestDriver) RequestChangeVmConfig(ctx context.Con
|
||||
}
|
||||
err := iVM.ChangeConfig(ctx, config)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "GuestDriver.RequestChangeVmConfig.ChangeConfig")
|
||||
return nil, errors.Wrap(err, "ChangeConfig")
|
||||
}
|
||||
|
||||
err = cloudprovider.WaitCreated(time.Second*5, time.Minute*5, func() bool {
|
||||
@@ -1169,7 +1169,7 @@ func (drv *SManagedVirtualizedGuestDriver) RequestChangeVmConfig(ctx context.Con
|
||||
return false
|
||||
})
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "GuestDriver.RequestChangeVmConfig.WaitCreated")
|
||||
return nil, errors.Wrap(err, "wait config change")
|
||||
}
|
||||
|
||||
instanceType = iVM.GetInstanceType()
|
||||
@@ -1179,7 +1179,7 @@ func (drv *SManagedVirtualizedGuestDriver) RequestChangeVmConfig(ctx context.Con
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "GuestDriver.RequestChangeVmConfig.Update")
|
||||
return nil, errors.Wrap(err, "Update")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,8 +34,6 @@ func init() {
|
||||
models.RegisterGuestDriver(&driver)
|
||||
}
|
||||
|
||||
func (self *SQingCloudGuestDriver) DoScheduleSKUFilter() bool { return false }
|
||||
|
||||
func (self *SQingCloudGuestDriver) GetHypervisor() string {
|
||||
return api.HYPERVISOR_QINGCLOUD
|
||||
}
|
||||
|
||||
@@ -227,7 +227,13 @@ func (task *GuestChangeConfigTask) OnCreateDisksComplete(ctx context.Context, ob
|
||||
return
|
||||
}
|
||||
|
||||
if confs.CpuChanged() || confs.MemChanged() {
|
||||
drv, err := guest.GetDriver()
|
||||
if err != nil {
|
||||
task.markStageFailed(ctx, guest, jsonutils.NewString(err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
if confs.CpuChanged() || confs.MemChanged() || (drv.DoScheduleSKUFilter() && confs.InstanceTypeChanged()) {
|
||||
task.SetStage("OnGuestChangeCpuMemSpecComplete", nil)
|
||||
task.startGuestChangeCpuMemSpec(ctx, guest, confs.InstanceType, confs.VcpuCount, confs.CpuSockets, confs.VmemSize)
|
||||
} else {
|
||||
@@ -504,7 +510,13 @@ func (task *GuestChangeConfigTask) OnSyncStatusComplete(ctx context.Context, obj
|
||||
dt.Add(jsonutils.NewString(guest.Id), "id")
|
||||
task.SetStageComplete(ctx, dt)
|
||||
}
|
||||
logclient.AddActionLogWithStartable(task, guest, logclient.ACT_VM_CHANGE_FLAVOR, "", task.UserCred, true)
|
||||
confs, err := task.getChangeConfigSetting()
|
||||
if err != nil {
|
||||
task.markStageFailed(ctx, guest, jsonutils.NewString(err.Error()))
|
||||
return
|
||||
}
|
||||
notes := fmt.Sprintf("instance_type: %s => %s vcpu: %d => %d mem: %d => %d", confs.Old.InstanceType, confs.InstanceType, confs.Old.VcpuCount, confs.VcpuCount, confs.Old.VmemSize, confs.VmemSize)
|
||||
logclient.AddActionLogWithStartable(task, guest, logclient.ACT_VM_CHANGE_FLAVOR, notes, task.UserCred, true)
|
||||
guest.EventNotify(ctx, task.UserCred, notifyclient.ActionChangeConfig)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user