Skip to content

Commit 0facba9

Browse files
committed
Merge remote-tracking branch 'origin/4.15' into main
2 parents 747608f + f50cc27 commit 0facba9

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

server/src/main/java/com/cloud/server/ManagementServerImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2174,7 +2174,7 @@ public Pair<List<? extends IpAddress>, Integer> searchForIPAddresses(final ListP
21742174
_accountMgr.buildACLSearchBuilder(sb, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
21752175
}
21762176

2177-
buildParameters(sb, cmd);
2177+
buildParameters(sb, cmd, vlanType == VlanType.VirtualNetwork ? true : isAllocated);
21782178

21792179
SearchCriteria<IPAddressVO> sc = sb.create();
21802180
setParameters(sc, cmd, vlanType);
@@ -2236,26 +2236,26 @@ public Pair<List<? extends IpAddress>, Integer> searchForIPAddresses(final ListP
22362236
}
22372237
if (freeAddrIds.size() > 0) {
22382238
final SearchBuilder<IPAddressVO> sb2 = _publicIpAddressDao.createSearchBuilder();
2239-
buildParameters(sb2, cmd);
2239+
buildParameters(sb2, cmd, false);
22402240
sb2.and("ids", sb2.entity().getId(), SearchCriteria.Op.IN);
22412241

22422242
SearchCriteria<IPAddressVO> sc2 = sb2.create();
22432243
setParameters(sc2, cmd, vlanType);
22442244
sc2.setParameters("ids", freeAddrIds.toArray());
22452245
addrs.addAll(_publicIpAddressDao.search(sc2, searchFilter)); // Allocated + Free
22462246
}
2247+
Collections.sort(addrs, Comparator.comparing(IPAddressVO::getAddress));
22472248
List<? extends IpAddress> wPagination = com.cloud.utils.StringUtils.applyPagination(addrs, cmd.getStartIndex(), cmd.getPageSizeVal());
22482249
if (wPagination != null) {
22492250
return new Pair<List<? extends IpAddress>, Integer>(wPagination, addrs.size());
22502251
}
22512252
return new Pair<>(addrs, addrs.size());
22522253
}
22532254

2254-
private void buildParameters(final SearchBuilder<IPAddressVO> sb, final ListPublicIpAddressesCmd cmd) {
2255+
private void buildParameters(final SearchBuilder<IPAddressVO> sb, final ListPublicIpAddressesCmd cmd, final Boolean isAllocated) {
22552256
final Object keyword = cmd.getKeyword();
22562257
final String address = cmd.getIpAddress();
22572258
final Boolean forLoadBalancing = cmd.isForLoadBalancing();
2258-
Boolean isAllocated = cmd.isAllocatedOnly();
22592259
final Map<String, String> tags = cmd.getTags();
22602260

22612261
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);

0 commit comments

Comments
 (0)