From 2390e352f8d2afb58081bac2236965afa33aee54 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Mon, 18 May 2020 19:55:50 +0800 Subject: [PATCH] elasticips: list usable eips for onecloud kvm guests --- pkg/compute/models/elasticips.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/compute/models/elasticips.go b/pkg/compute/models/elasticips.go index e655d94cc3..e1cc0e83ef 100644 --- a/pkg/compute/models/elasticips.go +++ b/pkg/compute/models/elasticips.go @@ -148,7 +148,7 @@ func (manager *SElasticipManager) ListItemFilter( return nil, httperrors.NewGeneralError(err) } guest := serverObj.(*SGuest) - if utils.IsInStringArray(guest.Hypervisor, api.PRIVATE_CLOUD_HYPERVISORS) { + if guest.Hypervisor == api.HYPERVISOR_KVM || utils.IsInStringArray(guest.Hypervisor, api.PRIVATE_CLOUD_HYPERVISORS) { zone := guest.getZone() networks := NetworkManager.Query().SubQuery() wires := WireManager.Query().SubQuery() @@ -161,7 +161,11 @@ func (manager *SElasticipManager) ListItemFilter( q = q.Equals("cloudregion_id", region.Id) } managerId := guest.GetHost().ManagerId - q = q.Equals("manager_id", managerId) + if managerId != "" { + q = q.Equals("manager_id", managerId) + } else { + q = q.IsNullOrEmpty("manager_id") + } default: return nil, httperrors.NewInputParameterError("Not support associate type %s, only support %s", associateType, api.EIP_ASSOCIATE_VALID_TYPES) }