mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
bug 12568: load balancer/firewall device capacity when admin does not specify a value
This commit is contained in:
parent
47a6f74f6f
commit
1f0ea28cc4
@ -38,7 +38,9 @@ import com.cloud.api.commands.ListExternalLoadBalancersCmd;
|
||||
import com.cloud.api.commands.ListF5LoadBalancerNetworksCmd;
|
||||
import com.cloud.api.commands.ListF5LoadBalancersCmd;
|
||||
import com.cloud.api.response.F5LoadBalancerResponse;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.configuration.dao.ConfigurationDao;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.dao.DataCenterDao;
|
||||
@ -80,6 +82,7 @@ import com.cloud.network.rules.LbStickinessMethod.StickinessMethodType;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.resource.ServerResource;
|
||||
import com.cloud.server.api.response.ExternalLoadBalancerResponse;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.vm.NicProfile;
|
||||
@ -103,6 +106,7 @@ public class F5ExternalLoadBalancerElement extends ExternalLoadBalancerDeviceMan
|
||||
@Inject NetworkExternalLoadBalancerDao _networkLBDao;
|
||||
@Inject NetworkDao _networkDao;
|
||||
@Inject HostDetailsDao _detailsDao;
|
||||
@Inject ConfigurationDao _configDao;
|
||||
|
||||
private boolean canHandle(Network config) {
|
||||
if (config.getGuestType() != Network.GuestType.Isolated || config.getTrafficType() != TrafficType.Guest) {
|
||||
@ -434,7 +438,12 @@ public class F5ExternalLoadBalancerElement extends ExternalLoadBalancerDeviceMan
|
||||
response.setPublicInterface(lbDetails.get("publicInterface"));
|
||||
response.setPrivateInterface(lbDetails.get("privateInterface"));
|
||||
response.setDeviceName(lbDeviceVO.getDeviceName());
|
||||
response.setDeviceCapacity(lbDeviceVO.getCapacity());
|
||||
if (lbDeviceVO.getCapacity() == 0) {
|
||||
long defaultLbCapacity = NumbersUtil.parseLong(_configDao.getValue(Config.DefaultExternalLoadBalancerCapacity.key()), 50);
|
||||
response.setDeviceCapacity(defaultLbCapacity);
|
||||
} else {
|
||||
response.setDeviceCapacity(lbDeviceVO.getCapacity());
|
||||
}
|
||||
response.setInlineMode(lbDeviceVO.getIsInLineMode());
|
||||
response.setDedicatedLoadBalancer(lbDeviceVO.getIsDedicatedDevice());
|
||||
response.setProvider(lbDeviceVO.getProviderName());
|
||||
|
||||
@ -37,7 +37,9 @@ import com.cloud.api.commands.ListExternalFirewallsCmd;
|
||||
import com.cloud.api.commands.ListSrxFirewallNetworksCmd;
|
||||
import com.cloud.api.commands.ListSrxFirewallsCmd;
|
||||
import com.cloud.api.response.SrxFirewallResponse;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.configuration.dao.ConfigurationDao;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.DataCenter.NetworkType;
|
||||
@ -80,6 +82,7 @@ import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offerings.dao.NetworkOfferingDao;
|
||||
import com.cloud.resource.ServerResource;
|
||||
import com.cloud.server.api.response.ExternalFirewallResponse;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.vm.NicProfile;
|
||||
@ -107,7 +110,8 @@ public class JuniperSRXExternalFirewallElement extends ExternalFirewallDeviceMan
|
||||
@Inject NetworkDao _networkDao;
|
||||
@Inject NetworkServiceMapDao _ntwkSrvcDao;
|
||||
@Inject HostDetailsDao _hostDetailDao;
|
||||
|
||||
@Inject ConfigurationDao _configDao;
|
||||
|
||||
private boolean canHandle(Network network, Service service) {
|
||||
DataCenter zone = _configMgr.getZone(network.getDataCenterId());
|
||||
if ((zone.getNetworkType() == NetworkType.Advanced && network.getGuestType() != Network.GuestType.Isolated) || (zone.getNetworkType() == NetworkType.Basic && network.getGuestType() != Network.GuestType.Shared)) {
|
||||
@ -490,7 +494,12 @@ public class JuniperSRXExternalFirewallElement extends ExternalFirewallDeviceMan
|
||||
response.setId(fwDeviceVO.getId());
|
||||
response.setPhysicalNetworkId(fwDeviceVO.getPhysicalNetworkId());
|
||||
response.setDeviceName(fwDeviceVO.getDeviceName());
|
||||
response.setDeviceCapacity(fwDeviceVO.getCapacity());
|
||||
if (fwDeviceVO.getCapacity() == 0) {
|
||||
long defaultFwCapacity = NumbersUtil.parseLong(_configDao.getValue(Config.DefaultExternalFirewallCapacity.key()), 50);
|
||||
response.setDeviceCapacity(defaultFwCapacity);
|
||||
} else {
|
||||
response.setDeviceCapacity(fwDeviceVO.getCapacity());
|
||||
}
|
||||
response.setProvider(fwDeviceVO.getProviderName());
|
||||
response.setDeviceState(fwDeviceVO.getDeviceState().name());
|
||||
response.setIpAddress(fwHost.getPrivateIpAddress());
|
||||
|
||||
@ -47,7 +47,9 @@ import com.cloud.api.commands.DeleteNetscalerLoadBalancerCmd;
|
||||
import com.cloud.api.commands.ListNetscalerLoadBalancerNetworksCmd;
|
||||
import com.cloud.api.commands.ListNetscalerLoadBalancersCmd;
|
||||
import com.cloud.api.response.NetscalerLoadBalancerResponse;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.configuration.dao.ConfigurationDao;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.DataCenter.NetworkType;
|
||||
@ -94,6 +96,7 @@ import com.cloud.network.rules.LbStickinessMethod.StickinessMethodType;
|
||||
import com.cloud.network.rules.StaticNat;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.resource.ServerResource;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
@ -122,6 +125,7 @@ public class NetscalerElement extends ExternalLoadBalancerDeviceManagerImpl impl
|
||||
@Inject PhysicalNetworkDao _physicalNetworkDao;
|
||||
@Inject NetworkDao _networkDao;
|
||||
@Inject HostDetailsDao _detailsDao;
|
||||
@Inject ConfigurationDao _configDao;
|
||||
|
||||
private boolean canHandle(Network config, Service service) {
|
||||
DataCenter zone = _dcDao.findById(config.getDataCenterId());
|
||||
@ -462,7 +466,12 @@ public class NetscalerElement extends ExternalLoadBalancerDeviceManagerImpl impl
|
||||
response.setPublicInterface(lbDetails.get("publicInterface"));
|
||||
response.setPrivateInterface(lbDetails.get("privateInterface"));
|
||||
response.setDeviceName(lbDeviceVO.getDeviceName());
|
||||
response.setDeviceCapacity(lbDeviceVO.getCapacity());
|
||||
if (lbDeviceVO.getCapacity() == 0) {
|
||||
long defaultLbCapacity = NumbersUtil.parseLong(_configDao.getValue(Config.DefaultExternalLoadBalancerCapacity.key()), 50);
|
||||
response.setDeviceCapacity(defaultLbCapacity);
|
||||
} else {
|
||||
response.setDeviceCapacity(lbDeviceVO.getCapacity());
|
||||
}
|
||||
response.setInlineMode(lbDeviceVO.getIsInLineMode());
|
||||
response.setDedicatedLoadBalancer(lbDeviceVO.getIsDedicatedDevice());
|
||||
response.setProvider(lbDeviceVO.getProviderName());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user