From 5191a3b7f25d96a65da0c4bd045fe75656154dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Thu, 5 Dec 2024 16:39:04 +0800 Subject: [PATCH] fix(region): sync managed vm status (#21752) --- pkg/compute/guestdrivers/managedvirtual.go | 2 ++ pkg/compute/tasks/guest_syncstatus_task.go | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/compute/guestdrivers/managedvirtual.go b/pkg/compute/guestdrivers/managedvirtual.go index 94c6082ad6..37c5ad2370 100644 --- a/pkg/compute/guestdrivers/managedvirtual.go +++ b/pkg/compute/guestdrivers/managedvirtual.go @@ -1367,6 +1367,7 @@ func (self *SManagedVirtualizedGuestDriver) requestMigrate(ctx context.Context, return false, err } vmStatus := iVM.GetStatus() + log.Debugf("vm %s migrate status: %s", guest.Name, vmStatus) if vmStatus == api.VM_UNKNOWN || strings.Contains(vmStatus, "fail") { return false, errors.Wrapf(cloudprovider.ErrInvalidStatus, vmStatus) } @@ -1374,6 +1375,7 @@ func (self *SManagedVirtualizedGuestDriver) requestMigrate(ctx context.Context, return false, nil } hostId := iVM.GetIHostId() + log.Debugf("guest %s migrate from %s -> %s", guest.Name, hostExternalId, hostId) if len(hostId) > 0 && hostId != hostExternalId { hostExternalId = hostId return true, nil diff --git a/pkg/compute/tasks/guest_syncstatus_task.go b/pkg/compute/tasks/guest_syncstatus_task.go index b23ed2980f..3aa6ba1403 100644 --- a/pkg/compute/tasks/guest_syncstatus_task.go +++ b/pkg/compute/tasks/guest_syncstatus_task.go @@ -80,7 +80,7 @@ func (self *GuestSyncstatusTask) OnGetStatusComplete(ctx context.Context, obj db // not change migrating when: // guest.Status is migrating and task not has parent task os := self.getOriginStatus() - if os == api.VM_MIGRATING && statusStr == api.VM_RUNNING { + if os == api.VM_MIGRATING && statusStr == api.VM_RUNNING && len(guest.ExternalId) == 0 { statusStr = os } }