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);
}
}