Skip to content

Commit c42005c

Browse files
committed
NE: consider vpc tiers in resolveExtensionForVpc
1 parent 727f004 commit c42005c

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/network/NetworkExtensionElement.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2258,9 +2258,21 @@ private JsonObject buildRestoreNetworkData(Network network, List<NicVO> nics,
22582258
* Returns {@code null} when no suitable extension is found.
22592259
*/
22602260
protected Pair<Long, Extension> resolveExtensionForVpc(Vpc vpc) {
2261-
List<PhysicalNetworkVO> physNetworks = physicalNetworkDao.listByZone(vpc.getZoneId());
2262-
if (CollectionUtils.isEmpty(physNetworks)) {
2263-
return null;
2261+
List<PhysicalNetworkVO> physNetworks;
2262+
List<NetworkVO> networks = networkDao.listByVpc(vpc.getId());
2263+
if (CollectionUtils.isNotEmpty(networks)) {
2264+
physNetworks = new ArrayList<>();
2265+
for (NetworkVO network : networks) {
2266+
PhysicalNetworkVO pn = physicalNetworkDao.findById(network.getPhysicalNetworkId());
2267+
if (pn != null && !physNetworks.contains(pn)) {
2268+
physNetworks.add(pn);
2269+
}
2270+
}
2271+
} else {
2272+
physNetworks = physicalNetworkDao.listByZoneAndTrafficType(vpc.getZoneId(), Networks.TrafficType.Guest);
2273+
if (CollectionUtils.isEmpty(physNetworks)) {
2274+
return null;
2275+
}
22642276
}
22652277
for (PhysicalNetworkVO pn : physNetworks) {
22662278
Extension ext = extensionHelper.getExtensionForPhysicalNetworkAndProvider(pn.getId(), providerName);

0 commit comments

Comments
 (0)