From 1e3d38acc1cd343835af03c01c14a144ea2a267a Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Fri, 22 Jan 2021 10:42:20 +0800 Subject: [PATCH] fix(region): aws not support create server with public ip --- pkg/compute/models/guests.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index f80479d0c1..a2a80bcef0 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -5247,8 +5247,11 @@ func (self *SGuest) ToCreateInput(userCred mcclient.TokenCredential) *api.Server userInput.KeypairId = genInput.KeypairId userInput.EipBw = genInput.EipBw userInput.EipChargeType = genInput.EipChargeType - userInput.PublicIpBw = genInput.PublicIpBw - userInput.PublicIpChargeType = genInput.PublicIpChargeType + provider := self.GetDriver() + if provider.IsSupportPublicIp() { + userInput.PublicIpBw = genInput.PublicIpBw + userInput.PublicIpChargeType = genInput.PublicIpChargeType + } userInput.AutoRenew = genInput.AutoRenew // cloned server should belongs to the project creating it userInput.ProjectId = userCred.GetProjectId() @@ -5318,8 +5321,10 @@ func (self *SGuest) toCreateInput() *api.ServerCreateInput { r.EipBw = eip.Bandwidth r.EipChargeType = eip.ChargeType case api.EIP_MODE_INSTANCE_PUBLICIP: - r.PublicIpBw = eip.Bandwidth - r.PublicIpChargeType = eip.ChargeType + if driver := self.GetDriver(); driver.IsSupportPublicIp() { + r.PublicIpBw = eip.Bandwidth + r.PublicIpChargeType = eip.ChargeType + } } } if zone := self.getZone(); zone != nil {