From 44a48fef6e21a1aa28c52d3d8e207cba6ce326ec Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Tue, 20 Apr 2021 16:29:14 +0800 Subject: [PATCH] fix(region): avoid assign vm ip addr not effect --- pkg/compute/guestdrivers/virtualization.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/compute/guestdrivers/virtualization.go b/pkg/compute/guestdrivers/virtualization.go index 5909d2758a..03f8847051 100644 --- a/pkg/compute/guestdrivers/virtualization.go +++ b/pkg/compute/guestdrivers/virtualization.go @@ -23,11 +23,13 @@ import ( "yunion.io/x/log" "yunion.io/x/pkg/errors" "yunion.io/x/pkg/util/netutils" + "yunion.io/x/pkg/utils" api "yunion.io/x/onecloud/pkg/apis/compute" "yunion.io/x/onecloud/pkg/cloudcommon/db/quotas" "yunion.io/x/onecloud/pkg/cloudcommon/db/taskman" "yunion.io/x/onecloud/pkg/compute/models" + "yunion.io/x/onecloud/pkg/compute/options" "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" ) @@ -69,7 +71,11 @@ func (self *SVirtualizedGuestDriver) GetNamedNetworkConfiguration(guest *models. Ifname: "", }) } - return net, nicConfs, api.IPAllocationStepdown, false + reUse := false + if len(netConfig.Address) > 0 && !options.Options.EnablePreAllocateIpAddr && !utils.IsInStringArray(host.GetProviderName(), []string{api.CLOUD_PROVIDER_ONECLOUD, api.CLOUD_PROVIDER_VMWARE}) { + reUse = true + } + return net, nicConfs, api.IPAllocationStepdown, reUse } func (self *SVirtualizedGuestDriver) GetRandomNetworkTypes() []string {