From 04872867c39f108b7fcce50ab7eff8de8f09d5e8 Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Mon, 12 Jul 2021 11:52:03 +0800 Subject: [PATCH] fix(region): allocate server eip without hostwire restrict --- pkg/compute/models/elasticips.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkg/compute/models/elasticips.go b/pkg/compute/models/elasticips.go index 92baeb8385..9797778fe3 100644 --- a/pkg/compute/models/elasticips.go +++ b/pkg/compute/models/elasticips.go @@ -1298,15 +1298,12 @@ func (manager *SElasticipManager) NewEipForVMOnHost(ctx context.Context, userCre if host != nil && host.ManagerId == "" { // kvm - hostq := HostManager.Query().SubQuery() wireq := WireManager.Query().SubQuery() - hostwireq := HostwireManager.Query().SubQuery() scope := policy.PolicyManager.AllowScope(userCred, consts.GetServiceType(), NetworkManager.KeywordPlural(), policy.PolicyActionList) q := NetworkManager.Query() q = NetworkManager.FilterByOwner(q, userCred, scope) - q = q.Join(wireq, sqlchemy.Equals(wireq.Field("id"), q.Field("wire_id"))) - q = q.Join(hostwireq, sqlchemy.Equals(hostwireq.Field("wire_id"), wireq.Field("id"))) - q = q.Join(hostq, sqlchemy.Equals(hostq.Field("id"), host.Id)) + q = q.Join(wireq, sqlchemy.Equals(wireq.Field("id"), q.Field("wire_id"))). + Filter(sqlchemy.Equals(wireq.Field("zone_id"), host.ZoneId)) q = q.Equals("server_type", api.NETWORK_TYPE_EIP) q = q.Equals("bgp_type", bgpType) var nets []SNetwork