mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-650: Rename ExternalLBUsageMgr to more generic ExternalDeviceUsageManager since it contains firewall usage also. Most of the functionality is already fixed in CLOUDSTACK-1289
This commit is contained in:
parent
87a5dc582e
commit
6da29c4cde
|
|
@ -688,7 +688,7 @@
|
|||
<bean id="dataStoreProviderManagerImpl" class="org.apache.cloudstack.storage.datastore.provider.DataStoreProviderManagerImpl" />
|
||||
<bean id="elasticLoadBalancerManagerImpl" class="com.cloud.network.lb.ElasticLoadBalancerManagerImpl" />
|
||||
<bean id="entityManagerImpl" class="com.cloud.dao.EntityManagerImpl" />
|
||||
<bean id="externalLoadBalancerUsageManagerImpl" class="com.cloud.network.ExternalLoadBalancerUsageManagerImpl" />
|
||||
<bean id="externalDeviceUsageManagerImpl" class="com.cloud.network.ExternalDeviceUsageManagerImpl" />
|
||||
<bean id="externalNetworkDeviceManagerImpl" class="com.cloud.network.ExternalNetworkDeviceManagerImpl" />
|
||||
<bean id="firewallManagerImpl" class="com.cloud.network.firewall.FirewallManagerImpl" />
|
||||
<bean id="hypervisorGuruManagerImpl" class="com.cloud.hypervisor.HypervisorGuruManagerImpl" />
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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<String, Object> 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<Network.Capability, String> sourceNatCapabilities = _networkMgr.getNetworkServiceCapabilities(network.getId(), Network.Service.SourceNat);
|
||||
Map<Network.Capability, String> 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<PortForwardingRuleVO> 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<LoadBalancerVO> 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
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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<Type> extends ManagerBase implements
|
|||
ConfigurationManager _configMgr;
|
||||
|
||||
@Inject
|
||||
ExternalLoadBalancerUsageManager _externalLBUsageMgr;
|
||||
ExternalDeviceUsageManager _externalDeviceUsageMgr;
|
||||
@Inject
|
||||
NetworkServiceMapDao _ntwkSrvcDao;
|
||||
@Inject
|
||||
|
|
@ -1214,7 +1214,7 @@ public class LoadBalancingRulesManagerImpl<Type> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue