mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(region): container is not started when pod's flavor changed (#20490)
This commit is contained in:
@@ -466,7 +466,7 @@ func (self *SBaremetalGuestDriver) RequestRebuildRootDisk(ctx context.Context, g
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SBaremetalGuestDriver) PerformStart(ctx context.Context, userCred mcclient.TokenCredential, guest *models.SGuest, data *jsonutils.JSONDict) error {
|
||||
func (self *SBaremetalGuestDriver) PerformStart(ctx context.Context, userCred mcclient.TokenCredential, guest *models.SGuest, data *jsonutils.JSONDict, parentTaskId string) error {
|
||||
return guest.StartGueststartTask(ctx, userCred, data, "")
|
||||
}
|
||||
|
||||
|
||||
@@ -314,8 +314,8 @@ func (self *SVirtualizedGuestDriver) ValidateCreateDataOnHost(ctx context.Contex
|
||||
return input, nil
|
||||
}
|
||||
|
||||
func (self *SVirtualizedGuestDriver) PerformStart(ctx context.Context, userCred mcclient.TokenCredential, guest *models.SGuest, data *jsonutils.JSONDict) error {
|
||||
return guest.StartGueststartTask(ctx, userCred, data, "")
|
||||
func (self *SVirtualizedGuestDriver) PerformStart(ctx context.Context, userCred mcclient.TokenCredential, guest *models.SGuest, data *jsonutils.JSONDict, parentTaskId string) error {
|
||||
return guest.StartGueststartTask(ctx, userCred, data, parentTaskId)
|
||||
}
|
||||
|
||||
func (self *SVirtualizedGuestDriver) CheckDiskTemplateOnStorage(ctx context.Context, userCred mcclient.TokenCredential, imageId string, format string, storageId string, task taskman.ITask) error {
|
||||
|
||||
@@ -1044,7 +1044,7 @@ func (self *SGuest) PerformStart(
|
||||
}
|
||||
if self.isAllDisksReady() {
|
||||
kwargs := jsonutils.Marshal(input).(*jsonutils.JSONDict)
|
||||
err := self.GetDriver().PerformStart(ctx, userCred, self, kwargs)
|
||||
err := self.GetDriver().PerformStart(ctx, userCred, self, kwargs, "")
|
||||
return nil, err
|
||||
} else {
|
||||
return nil, httperrors.NewInvalidStatusError("Some disk not ready")
|
||||
|
||||
@@ -128,7 +128,7 @@ type IGuestDriver interface {
|
||||
|
||||
OnDeleteGuestFinalCleanup(ctx context.Context, guest *SGuest, userCred mcclient.TokenCredential) error
|
||||
|
||||
PerformStart(ctx context.Context, userCred mcclient.TokenCredential, guest *SGuest, data *jsonutils.JSONDict) error
|
||||
PerformStart(ctx context.Context, userCred mcclient.TokenCredential, guest *SGuest, data *jsonutils.JSONDict, parentTaskId string) error
|
||||
|
||||
CheckDiskTemplateOnStorage(ctx context.Context, userCred mcclient.TokenCredential, imageId string, format string, storageId string, task taskman.ITask) error
|
||||
|
||||
|
||||
@@ -433,7 +433,11 @@ func (task *GuestChangeConfigTask) OnSyncStatusComplete(ctx context.Context, obj
|
||||
guest := obj.(*models.SGuest)
|
||||
if guest.Status == api.VM_READY && jsonutils.QueryBoolean(task.Params, "auto_start", false) {
|
||||
task.SetStage("OnGuestStartComplete", nil)
|
||||
guest.StartGueststartTask(ctx, task.UserCred, nil, task.GetTaskId())
|
||||
drv := guest.GetDriver()
|
||||
if err := drv.PerformStart(ctx, task.GetUserCred(), guest, nil, task.GetTaskId()); err != nil {
|
||||
task.OnGuestStartCompleteFailed(ctx, guest, jsonutils.NewString(err.Error()))
|
||||
return
|
||||
}
|
||||
} else {
|
||||
dt := jsonutils.NewDict()
|
||||
dt.Add(jsonutils.NewString(guest.Id), "id")
|
||||
|
||||
Reference in New Issue
Block a user