From a9b792b0ae83e5af5bd048268f2b1ea5da8c9944 Mon Sep 17 00:00:00 2001 From: ioito Date: Sat, 2 Apr 2022 11:53:15 +0800 Subject: [PATCH] fix(region): vm public ip sync --- pkg/compute/guestdrivers/managedvirtual.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/compute/guestdrivers/managedvirtual.go b/pkg/compute/guestdrivers/managedvirtual.go index 5d48215bb2..972167f943 100644 --- a/pkg/compute/guestdrivers/managedvirtual.go +++ b/pkg/compute/guestdrivers/managedvirtual.go @@ -564,8 +564,22 @@ func (self *SManagedVirtualizedGuestDriver) RemoteDeployGuestForCreate(ctx conte } } - ret, expect := 0, len(desc.DataDisks)+1 + ret, expect, eipSync := 0, len(desc.DataDisks)+1, false err = cloudprovider.RetryUntil(func() (bool, error) { + if desc.PublicIpBw > 0 { + eip, _ := iVM.GetIEIP() + if eip == nil { + iVM.Refresh() + return false, nil + } + // 同步静态公网ip + if !eipSync { + provider := host.GetCloudprovider() + guest.SyncVMEip(ctx, userCred, provider, eip, provider.GetOwnerId()) + eipSync = true + } + } + idisks, err := iVM.GetIDisks() if err != nil { return false, errors.Wrap(err, "iVM.GetIDisks")