bug 12719:When restartNetwork() is called ,IpAssocCommand() is called for the public ipaddresses that are owned by Netscaler

This commit is contained in:
Murali reddy 2011-12-23 23:11:45 +05:30
parent f259fec471
commit df21338b08
2 changed files with 24 additions and 8 deletions

View File

@ -663,10 +663,31 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
try {
if (element instanceof FirewallServiceProvider && element instanceof LoadBalancingServiceProvider) {
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(loadbalncerPublicIps);
FirewallServiceProvider fwProvider = (FirewallServiceProvider)element;
fwProvider.applyIps(network, allIps);
} else if (fwProvider.equalsIgnoreCase(element.getProvider().getName())) {
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) {
FirewallServiceProvider fwProvider = (FirewallServiceProvider)element;
fwProvider.applyIps(network, firewallPublicIps);

View File

@ -1758,11 +1758,6 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
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<PortForwardingRule> pfRules = new ArrayList<PortForwardingRule>();
List<FirewallRule> staticNatFirewallRules = new ArrayList<FirewallRule>();