From 6da29c4cdef39f2c2fac7460c22619698383dcf7 Mon Sep 17 00:00:00 2001 From: Kishan Kavala Date: Fri, 28 Jun 2013 12:08:33 +0530 Subject: [PATCH] CLOUDSTACK-650: Rename ExternalLBUsageMgr to more generic ExternalDeviceUsageManager since it contains firewall usage also. Most of the functionality is already fixed in CLOUDSTACK-1289 --- client/tomcatconf/applicationContext.xml.in | 2 +- ...r.java => ExternalDeviceUsageManager.java} | 4 +-- ...va => ExternalDeviceUsageManagerImpl.java} | 30 +++++++++---------- .../lb/LoadBalancingRulesManagerImpl.java | 16 +++++----- 4 files changed, 26 insertions(+), 26 deletions(-) rename server/src/com/cloud/network/{ExternalLoadBalancerUsageManager.java => ExternalDeviceUsageManager.java} (84%) rename server/src/com/cloud/network/{ExternalLoadBalancerUsageManagerImpl.java => ExternalDeviceUsageManagerImpl.java} (97%) diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 09948f443cf..82ce9e944fb 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -688,7 +688,7 @@ - + diff --git a/server/src/com/cloud/network/ExternalLoadBalancerUsageManager.java b/server/src/com/cloud/network/ExternalDeviceUsageManager.java similarity index 84% rename from server/src/com/cloud/network/ExternalLoadBalancerUsageManager.java rename to server/src/com/cloud/network/ExternalDeviceUsageManager.java index 886cd784988..474002ba301 100644 --- a/server/src/com/cloud/network/ExternalLoadBalancerUsageManager.java +++ b/server/src/com/cloud/network/ExternalDeviceUsageManager.java @@ -18,10 +18,10 @@ package com.cloud.network; import com.cloud.utils.component.Manager; -/* ExternalLoadBalancerUsageManager implements a periodic task that retrieves and updates the network usage stats from all external load balancer devices. +/* ExternalDeviceUsageManager implements a periodic task that retrieves and updates the network usage stats from all external load balancer and firewall devices. */ -public interface ExternalLoadBalancerUsageManager extends Manager{ +public interface ExternalDeviceUsageManager extends Manager{ /** * updates the network usage stats for a LB rule, associated with an external LB device, that is being revoked as part of Delete LB rule or release IP actions diff --git a/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java b/server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java similarity index 97% rename from server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java rename to server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java index 2c8031c64f0..606586e11d8 100644 --- a/server/src/com/cloud/network/ExternalLoadBalancerUsageManagerImpl.java +++ b/server/src/com/cloud/network/ExternalDeviceUsageManagerImpl.java @@ -87,9 +87,10 @@ import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.NicDao; @Component -@Local(value = { ExternalLoadBalancerUsageManager.class }) -public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements ExternalLoadBalancerUsageManager { +@Local(value = { ExternalDeviceUsageManager.class }) +public class ExternalDeviceUsageManagerImpl extends ManagerBase implements ExternalDeviceUsageManager { + String _name; @Inject NetworkExternalLoadBalancerDao _networkExternalLBDao; @Inject @@ -99,8 +100,6 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements @Inject DataCenterDao _dcDao; @Inject - NetworkModel _networkMgr; - @Inject InlineLoadBalancerNicMapDao _inlineLoadBalancerNicMapDao; @Inject NicDao _nicDao; @@ -146,10 +145,13 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements ExternalFirewallDeviceDao _externalFirewallDeviceDao; @Inject protected HostPodDao _podDao = null; - + @Inject + NetworkModel _networkModel; + + ScheduledExecutorService _executor; private int _externalNetworkStatsInterval; - private static final org.apache.log4j.Logger s_logger = Logger.getLogger(ExternalLoadBalancerUsageManagerImpl.class); + private static final org.apache.log4j.Logger s_logger = Logger.getLogger(ExternalDeviceUsageManagerImpl.class); @Override public boolean configure(String name, Map params) throws ConfigurationException { @@ -249,7 +251,7 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements return; } - String publicIp = _networkMgr.getIp(lb.getSourceIpAddressId()).getAddress().addr(); + String publicIp = _networkModel.getIp(lb.getSourceIpAddressId()).getAddress().addr(); DataCenterVO zone = _dcDao.findById(network.getDataCenterId()); String statsEntryIdentifier = "account " + account.getAccountName() + ", zone " + zone.getName() + ", network ID " + networkId + ", host ID " + externalLoadBalancer.getName(); @@ -259,7 +261,7 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements if (publicIp != null) { long[] bytesSentAndReceived = null; statsEntryIdentifier += ", public IP: " + publicIp; - boolean inline = _networkMgr.isNetworkInlineMode(network); + boolean inline = _networkModel.isNetworkInlineMode(network); if (externalLoadBalancer.getType().equals(Host.Type.ExternalLoadBalancer) && inline) { // Look up stats for the guest IP address that's mapped to the public IP address InlineLoadBalancerNicMapVO mapping = _inlineLoadBalancerNicMapDao.findByPublicIpAddress(publicIp); @@ -380,7 +382,7 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements } for (NetworkVO network : networksForAccount) { - if (!_networkMgr.networkIsConfiguredForExternalNetworking(zoneId, network.getId())) { + if (!_networkModel.networkIsConfiguredForExternalNetworking(zoneId, network.getId())) { s_logger.debug("Network " + network.getId() + " is not configured for external networking, so skipping usage check."); continue; } @@ -603,7 +605,7 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements String networkErrorMsg = accountErrorMsg + ", network ID = " + network.getId(); boolean sharedSourceNat = false; - Map sourceNatCapabilities = _networkMgr.getNetworkServiceCapabilities(network.getId(), Network.Service.SourceNat); + Map sourceNatCapabilities = _networkModel.getNetworkServiceCapabilities(network.getId(), Network.Service.SourceNat); if (sourceNatCapabilities != null) { String supportedSourceNatTypes = sourceNatCapabilities.get(Network.Capability.SupportedSourceNatTypes).toLowerCase(); if (supportedSourceNatTypes.contains("zone")) { @@ -634,7 +636,7 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements // Manage one entry for each port forwarding rule in this network List portForwardingRules = _portForwardingRulesDao.listByNetwork(network.getId()); for (PortForwardingRuleVO portForwardingRule : portForwardingRules) { - String publicIp = _networkMgr.getIp(portForwardingRule.getSourceIpAddressId()).getAddress().addr(); + String publicIp = _networkModel.getIp(portForwardingRule.getSourceIpAddressId()).getAddress().addr(); if (!createOrUpdateStatsEntry(create, accountId, zoneId, network.getId(), publicIp, externalFirewall.getId(), firewallAnswer, false)) { throw new ExecutionException(networkErrorMsg + ", port forwarding rule public IP = " + publicIp); } @@ -649,11 +651,10 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements // If an external load balancer is added, manage one entry for each load balancing rule in this network if (externalLoadBalancer != null && lbAnswer != null) { - boolean inline = _networkMgr.isNetworkInlineMode(network); + boolean inline = _networkModel.isNetworkInlineMode(network); List loadBalancers = _loadBalancerDao.listByNetworkIdAndScheme(network.getId(), Scheme.Public); for (LoadBalancerVO loadBalancer : loadBalancers) { - String publicIp = _networkMgr.getIp(loadBalancer.getSourceIpAddressId()).getAddress().addr(); - + String publicIp = _networkModel.getIp(loadBalancer.getSourceIpAddressId()).getAddress().addr(); if (!createOrUpdateStatsEntry(create, accountId, zoneId, network.getId(), publicIp, externalLoadBalancer.getId(), lbAnswer, inline)) { throw new ExecutionException(networkErrorMsg + ", load balancing rule public IP = " + publicIp); } @@ -669,5 +670,4 @@ public class ExternalLoadBalancerUsageManagerImpl extends ManagerBase implements } } } - } diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 67d31ab3a4e..470d9b850b1 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -30,6 +30,12 @@ import java.util.Set; import javax.ejb.Local; import javax.inject.Inject; +import com.cloud.network.ExternalDeviceUsageManager; +import com.cloud.network.IpAddress; +import com.cloud.network.LBHealthCheckPolicyVO; +import com.cloud.network.Network; +import com.cloud.network.NetworkManager; +import com.cloud.network.NetworkModel; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.command.user.loadbalancer.CreateLBHealthCheckPolicyCmd; import org.apache.cloudstack.api.command.user.loadbalancer.CreateLBStickinessPolicyCmd; @@ -63,15 +69,9 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.NetworkRuleConflictException; import com.cloud.exception.PermissionDeniedException; import com.cloud.exception.ResourceUnavailableException; -import com.cloud.network.ExternalLoadBalancerUsageManager; -import com.cloud.network.IpAddress; -import com.cloud.network.LBHealthCheckPolicyVO; -import com.cloud.network.Network; import com.cloud.network.Network.Capability; import com.cloud.network.Network.Provider; import com.cloud.network.Network.Service; -import com.cloud.network.NetworkManager; -import com.cloud.network.NetworkModel; import com.cloud.network.addr.PublicIp; import com.cloud.network.as.AutoScalePolicy; import com.cloud.network.as.AutoScalePolicyConditionMapVO; @@ -210,7 +210,7 @@ public class LoadBalancingRulesManagerImpl extends ManagerBase implements ConfigurationManager _configMgr; @Inject - ExternalLoadBalancerUsageManager _externalLBUsageMgr; + ExternalDeviceUsageManager _externalDeviceUsageMgr; @Inject NetworkServiceMapDao _ntwkSrvcDao; @Inject @@ -1214,7 +1214,7 @@ public class LoadBalancingRulesManagerImpl extends ManagerBase implements NetworkVO network = _networkDao.findById(lb.getNetworkId()); if (network != null) { if (_networkModel.networkIsConfiguredForExternalNetworking(network.getDataCenterId(), network.getId())) { - _externalLBUsageMgr.updateExternalLoadBalancerNetworkUsageStats(loadBalancerId); + _externalDeviceUsageMgr.updateExternalLoadBalancerNetworkUsageStats(loadBalancerId); } }