mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
add task failed code
This commit is contained in:
@@ -238,28 +238,28 @@ func (self *SManagedVirtualizedGuestDriver) RequestAttachDisk(ctx context.Contex
|
||||
}
|
||||
|
||||
func (self *SManagedVirtualizedGuestDriver) RequestStartOnHost(ctx context.Context, guest *models.SGuest, host *models.SHost, userCred mcclient.TokenCredential, task taskman.ITask) (jsonutils.JSONObject, error) {
|
||||
ihost, e := host.GetIHost()
|
||||
if e != nil {
|
||||
return nil, e
|
||||
ihost, err := host.GetIHost()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ivm, e := ihost.GetIVMById(guest.GetExternalId())
|
||||
if e != nil {
|
||||
return nil, e
|
||||
ivm, err := ihost.GetIVMById(guest.GetExternalId())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := jsonutils.NewDict()
|
||||
if ivm.GetStatus() != api.VM_RUNNING {
|
||||
if err := ivm.StartVM(ctx); err != nil {
|
||||
return nil, e
|
||||
} else {
|
||||
task.ScheduleRun(result)
|
||||
err := ivm.StartVM(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
task.ScheduleRun(result)
|
||||
} else {
|
||||
result.Add(jsonutils.NewBool(true), "is_running")
|
||||
}
|
||||
|
||||
return result, e
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (self *SManagedVirtualizedGuestDriver) RequestDeployGuestOnHost(ctx context.Context, guest *models.SGuest, host *models.SHost, task taskman.ITask) error {
|
||||
|
||||
@@ -243,7 +243,7 @@ func (self *GuestChangeConfigTask) OnSyncConfigComplete(ctx context.Context, obj
|
||||
func (self *GuestChangeConfigTask) OnSyncStatusComplete(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
|
||||
guest := obj.(*models.SGuest)
|
||||
if guest.Status == api.VM_READY && jsonutils.QueryBoolean(self.Params, "auto_start", false) {
|
||||
self.SetStage("on_guest_start_complete", nil)
|
||||
self.SetStage("OnGuestStartComplete", nil)
|
||||
guest.StartGueststartTask(ctx, self.UserCred, nil, self.GetTaskId())
|
||||
} else {
|
||||
dt := jsonutils.NewDict()
|
||||
@@ -260,6 +260,10 @@ func (self *GuestChangeConfigTask) OnGuestStartComplete(ctx context.Context, obj
|
||||
self.SetStageComplete(ctx, dt)
|
||||
}
|
||||
|
||||
func (self *GuestChangeConfigTask) OnGuestStartCompleteFailed(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
|
||||
self.SetStageFailed(ctx, data.String())
|
||||
}
|
||||
|
||||
func (self *GuestChangeConfigTask) markStageFailed(ctx context.Context, guest *models.SGuest, reason string) {
|
||||
guest.SetStatus(self.UserCred, api.VM_CHANGE_FLAVOR_FAIL, reason)
|
||||
db.OpsLog.LogEvent(guest, db.ACT_CHANGE_FLAVOR_FAIL, reason, self.UserCred)
|
||||
|
||||
@@ -559,7 +559,7 @@ func (self *SRegion) CreateInstance(name string, imageId string, instanceType st
|
||||
}
|
||||
|
||||
func (self *SRegion) doStartVM(instanceId string) error {
|
||||
return self.instanceOperation(instanceId, "StartInstances", nil, false)
|
||||
return self.instanceOperation(instanceId, "StartInstances", nil, true)
|
||||
}
|
||||
|
||||
func (self *SRegion) doStopVM(instanceId string, isForce bool) error {
|
||||
|
||||
Reference in New Issue
Block a user