From 0a45a1d8a176b0db04abf989086a37d8ec3525b7 Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Wed, 20 Mar 2019 14:43:43 +0800 Subject: [PATCH] fix live migrate set status --- pkg/compute/tasks/guest_live_migrate_task.go | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/pkg/compute/tasks/guest_live_migrate_task.go b/pkg/compute/tasks/guest_live_migrate_task.go index 2d2b88d2e5..6abeaf696a 100644 --- a/pkg/compute/tasks/guest_live_migrate_task.go +++ b/pkg/compute/tasks/guest_live_migrate_task.go @@ -354,26 +354,18 @@ func (self *GuestLiveMigrateTask) OnResumeDestGuestComplete(ctx context.Context, func (self *GuestLiveMigrateTask) OnUndeploySrcGuestComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) { db.OpsLog.LogEvent(guest, db.ACT_MIGRATE, "", self.UserCred) status, _ := self.Params.GetString("guest_status") - if status != models.VM_RUNNING { - guest.SetStatus(self.UserCred, status, "") - self.SetStageComplete(ctx, nil) - } else { - self.SetStage("OnStartGeustComplete", nil) - guest.StartGueststartTask(ctx, self.UserCred, nil, self.GetTaskId()) + if status != guest.Status { + self.SetStage("OnGuestSyncStatus", nil) + guest.StartSyncstatus(ctx, self.UserCred, self.GetTaskId()) } } -func (self *GuestLiveMigrateTask) OnStartGeustComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) { +func (self *GuestLiveMigrateTask) OnGuestSyncStatus(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) { self.SetStageComplete(ctx, nil) } func (self *GuestMigrateTask) TaskFailed(ctx context.Context, guest *models.SGuest, reason string) { - status, _ := self.Params.GetString("guest_status") - if status != models.VM_RUNNING { - guest.SetStatus(self.UserCred, status, "") - } else { - guest.StartGueststartTask(ctx, self.UserCred, nil, "") - } + guest.SetStatus(self.UserCred, models.VM_MIGRATE_FAILED, reason) db.OpsLog.LogEvent(guest, db.ACT_MIGRATE_FAIL, reason, self.UserCred) self.SetStageFailed(ctx, reason) notifyclient.NotifySystemError(guest.Id, guest.Name, models.VM_MIGRATE_FAILED, reason)