diff --git a/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java b/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java index d14d2e76a59..6b1b834530d 100644 --- a/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java +++ b/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java @@ -170,23 +170,11 @@ public class ListPublicIpAddressesCmd extends BaseListCmd { return allocatedOnly; } - public void setAllocatedOnly(Boolean allocatedOnly) { - this.allocatedOnly = allocatedOnly; - } - public Boolean getForVirtualNetwork() { return forVirtualNetwork; } - public void setForVirtualNetwork(Boolean forVirtualNetwork) { - this.forVirtualNetwork = forVirtualNetwork; - } - public Boolean getForLoadBalancing() { return forLoadBalancing; - } - - public void setForLoadBalancing(Boolean forLoadBalancing) { - this.forLoadBalancing = forLoadBalancing; } } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 84362c3a2c6..f55511e4812 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1908,8 +1908,22 @@ public class ManagementServerImpl implements ManagementServer { vlanSearch.and("vlanType", vlanSearch.entity().getVlanType(), SearchCriteria.Op.EQ); sb.join("vlanSearch", vlanSearch, sb.entity().getVlanId(), vlanSearch.entity().getId(), JoinBuilder.JoinType.INNER); + boolean allocatedOnly = false; if ((isAllocated != null) && (isAllocated == true)) { sb.and("allocated", sb.entity().getAllocatedTime(), SearchCriteria.Op.NNULL); + allocatedOnly = true; + } + + VlanType vlanType = null; + if (forVirtualNetwork != null) { + vlanType = (Boolean) forVirtualNetwork ? VlanType.VirtualNetwork : VlanType.DirectAttached; + } else { + vlanType = VlanType.VirtualNetwork; + } + + //don't show SSVM/CPVM ips + if (vlanType == VlanType.VirtualNetwork && (allocatedOnly)) { + sb.and("associatedNetworkId", sb.entity().getAssociatedWithNetworkId(), SearchCriteria.Op.NNULL); } SearchCriteria sc = sb.create(); @@ -1920,13 +1934,6 @@ public class ManagementServerImpl implements ManagementServer { sc.setJoinParameters("domainSearch", "path", domain.getPath() + "%"); } - VlanType vlanType = null; - if (forVirtualNetwork != null) { - vlanType = (Boolean) forVirtualNetwork ? VlanType.VirtualNetwork : VlanType.DirectAttached; - } else { - vlanType = VlanType.VirtualNetwork; - } - sc.setJoinParameters("vlanSearch", "vlanType", vlanType); if (zone != null) {