From 1224f4eee4a344daa63d160f8908aff5cc9dc951 Mon Sep 17 00:00:00 2001 From: ioito Date: Mon, 16 Jan 2023 15:11:05 +0800 Subject: [PATCH] fix(region): vmware migrate vnc --- pkg/compute/guestdrivers/esxi.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/compute/guestdrivers/esxi.go b/pkg/compute/guestdrivers/esxi.go index 3f166df241..24b740da2f 100644 --- a/pkg/compute/guestdrivers/esxi.go +++ b/pkg/compute/guestdrivers/esxi.go @@ -161,6 +161,28 @@ func (self *SESXiGuestDriver) ChooseHostStorage(host *models.SHost, guest *model } } +func (self *SESXiGuestDriver) GetGuestVncInfo(ctx context.Context, userCred mcclient.TokenCredential, guest *models.SGuest, host *models.SHost, input *cloudprovider.ServerVncInput) (*cloudprovider.ServerVncOutput, error) { + iRegion, err := host.GetIRegion(ctx) + if err != nil { + return nil, err + } + ihost, err := iRegion.GetIHostById(host.ExternalId) + if err != nil { + return nil, err + } + iVM, err := ihost.GetIVMById(guest.ExternalId) + if err != nil { + if errors.Cause(err) != cloudprovider.ErrNotFound { + return nil, err + } + iVM, err = iRegion.GetIVMById(guest.ExternalId) + if err != nil { + return nil, err + } + } + return iVM.GetVNCInfo(input) +} + func (self *SESXiGuestDriver) GetMinimalSysDiskSizeGb() int { return options.Options.DefaultDiskSizeMB / 1024 }