diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index d208021e8334..466c30da5e0b 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -2498,6 +2498,7 @@ protected void finalizeNetworkRulesForNetwork(final Commands cmds, final DomainR if (!ipv6firewallRules.isEmpty()) { _commandSetupHelper.createIpv6FirewallRulesCommands(ipv6firewallRules, router, cmds, guestNetworkId); } + Network guestNetwork = _networkDao.findById(guestNetworkId); if (publicIps != null && !publicIps.isEmpty()) { final List vpns = new ArrayList(); @@ -2578,7 +2579,13 @@ protected void finalizeNetworkRulesForNetwork(final Commands cmds, final DomainR } } - final List lbs = _loadBalancerDao.listByNetworkIdAndScheme(guestNetworkId, Scheme.Public); + List lbs = null; + Long vpcId = guestNetwork.getVpcId(); + if (vpcId != null) { + lbs = _loadBalancerDao.listByVpcIdAndScheme(vpcId, Scheme.Public); + } else { + lbs = _loadBalancerDao.listByNetworkIdAndScheme(guestNetworkId, Scheme.Public); + } final List lbRules = new ArrayList(); if (_networkModel.isProviderSupportServiceInNetwork(guestNetworkId, Service.Lb, provider)) { // Re-apply load balancing rules @@ -2599,7 +2606,6 @@ protected void finalizeNetworkRulesForNetwork(final Commands cmds, final DomainR } } // Reapply dhcp and dns configuration. - final Network guestNetwork = _networkDao.findById(guestNetworkId); if (guestNetwork.getGuestType() == GuestType.Shared && _networkModel.isProviderSupportServiceInNetwork(guestNetworkId, Service.Dhcp, provider)) { final Map dhcpCapabilities = _networkSvc.getNetworkOfferingServiceCapabilities( _networkOfferingDao.findById(_networkDao.findById(guestNetworkId).getNetworkOfferingId()), Service.Dhcp);