mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 12719:When restartNetwork() is called ,IpAssocCommand() is called for the public ipaddresses that are owned by Netscaler
This commit is contained in:
parent
f259fec471
commit
df21338b08
@ -662,11 +662,32 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
|
|||||||
for (NetworkElement element : _networkElements) {
|
for (NetworkElement element : _networkElements) {
|
||||||
try {
|
try {
|
||||||
if (element instanceof FirewallServiceProvider && element instanceof LoadBalancingServiceProvider) {
|
if (element instanceof FirewallServiceProvider && element instanceof LoadBalancingServiceProvider) {
|
||||||
List<PublicIp> allIps = new ArrayList<PublicIp>();
|
List<PublicIp> allIps = new ArrayList<PublicIp>();
|
||||||
|
NetworkOfferingVO offering = _networkOfferingDao.findById(network.getNetworkOfferingId());
|
||||||
|
|
||||||
|
//get the Provider for the LB Service for the offering of the network
|
||||||
|
//FIXME - in post 3.0 we are going to support multiple providers for the same service per network offering
|
||||||
|
List<String> providers = _ntwkOfferingSrvcDao.listProvidersForServiceForNetworkOffering(offering.getId(), Service.Lb);
|
||||||
|
String lbProvider = providers.get(0);
|
||||||
|
|
||||||
|
//get the Provider for the LB Service for the offering of the network
|
||||||
|
//FIXME - in post 3.0 we are going to support multiple providers for the same service per network offering
|
||||||
|
providers = _ntwkOfferingSrvcDao.listProvidersForServiceForNetworkOffering(offering.getId(), Service.Firewall);
|
||||||
|
String fwProvider = providers.get(0);
|
||||||
|
|
||||||
|
if (lbProvider.equalsIgnoreCase(element.getProvider().getName()) && fwProvider.equalsIgnoreCase(element.getProvider().getName())) {
|
||||||
allIps.addAll(firewallPublicIps);
|
allIps.addAll(firewallPublicIps);
|
||||||
allIps.addAll(loadbalncerPublicIps);
|
allIps.addAll(loadbalncerPublicIps);
|
||||||
FirewallServiceProvider fwProvider = (FirewallServiceProvider)element;
|
} else if (fwProvider.equalsIgnoreCase(element.getProvider().getName())) {
|
||||||
fwProvider.applyIps(network, allIps);
|
allIps.addAll(firewallPublicIps);
|
||||||
|
} else if (lbProvider.equalsIgnoreCase(element.getProvider().getName())) {
|
||||||
|
allIps.addAll(loadbalncerPublicIps);
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
FirewallServiceProvider fwElement = (FirewallServiceProvider)element;
|
||||||
|
fwElement.applyIps(network, allIps);
|
||||||
} else if (element instanceof FirewallServiceProvider) {
|
} else if (element instanceof FirewallServiceProvider) {
|
||||||
FirewallServiceProvider fwProvider = (FirewallServiceProvider)element;
|
FirewallServiceProvider fwProvider = (FirewallServiceProvider)element;
|
||||||
fwProvider.applyIps(network, firewallPublicIps);
|
fwProvider.applyIps(network, firewallPublicIps);
|
||||||
|
|||||||
@ -1758,11 +1758,6 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
|
|||||||
|
|
||||||
if (!publicIps.isEmpty()) {
|
if (!publicIps.isEmpty()) {
|
||||||
|
|
||||||
// Re-apply public ip addresses - should come before PF/LB/VPN
|
|
||||||
if (_networkMgr.isProviderSupportServiceInNetwork(router.getNetworkId(), Service.Firewall, provider)) {
|
|
||||||
createAssociateIPCommands(router, publicIps, cmds, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<RemoteAccessVpn> vpns = new ArrayList<RemoteAccessVpn>();
|
List<RemoteAccessVpn> vpns = new ArrayList<RemoteAccessVpn>();
|
||||||
List<PortForwardingRule> pfRules = new ArrayList<PortForwardingRule>();
|
List<PortForwardingRule> pfRules = new ArrayList<PortForwardingRule>();
|
||||||
List<FirewallRule> staticNatFirewallRules = new ArrayList<FirewallRule>();
|
List<FirewallRule> staticNatFirewallRules = new ArrayList<FirewallRule>();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user