diff --git a/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java b/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java index 6b35d7b4eaf..a593ae6bc3f 100644 --- a/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java +++ b/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java @@ -91,6 +91,8 @@ public class NetworkOfferingResponse extends BaseResponse { @SerializedName(ApiConstants.EGRESS_DEFAULT_POLICY) @Param(description="true if network offering supports persistent networks, false otherwise") private Boolean egressDefaultPolicy; + @SerializedName(ApiConstants.MAX_CONNECTIONS) @Param(description = "maximum number of concurrents connections to be handled by lb") + private Integer concurrentConnections; public void setId(String id) { this.id = id; @@ -173,4 +175,8 @@ public class NetworkOfferingResponse extends BaseResponse { this.egressDefaultPolicy = egressDefaultPolicy; } + public void setConcurrentConnections(Integer concurrentConnections) { + this.concurrentConnections = concurrentConnections; + } + } diff --git a/engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java b/engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java index b0cb85d40bf..eefdc9442c8 100755 --- a/engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java +++ b/engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java @@ -134,7 +134,8 @@ public class NetworkOfferingVO implements NetworkOffering { boolean egressdefaultpolicy; @Column(name = "concurrent_connections") - Integer concurrent_connections; + Integer concurrentConnections; + @Override public String getDisplayText() { @@ -430,11 +431,11 @@ public class NetworkOfferingVO implements NetworkOffering { } public Integer getConcurrentConnections() { - return this.concurrent_connections; + return this.concurrentConnections; } public void setConcurrentConnections(Integer concurrent_connections) { - this.concurrent_connections = concurrent_connections; + this.concurrentConnections = concurrent_connections; } public void setPublicLb(boolean publicLb) { diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index c1ae7d0c3c3..a7ddbf18192 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -2016,6 +2016,7 @@ public class ApiResponseHelper implements ResponseGenerator { response.setIsPersistent(offering.getIsPersistent()); response.setNetworkRate(ApiDBUtils.getNetworkRate(offering.getId())); response.setEgressDefaultPolicy(offering.getEgressDefaultPolicy()); + response.setConcurrentConnections(offering.getConcurrentConnections()); Long so = null; if (offering.getServiceOfferingId() != null) { so = offering.getServiceOfferingId(); diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index d5e6c00140d..0758b38fb04 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -3917,7 +3917,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } validateLoadBalancerServiceCapabilities(lbServiceCapabilityMap); - if (lbServiceCapabilityMap != null && !lbServiceCapabilityMap.isEmpty()) { + if (!serviceProviderMap.containsKey(Service.Lb) && lbServiceCapabilityMap != null && !lbServiceCapabilityMap.isEmpty()) { maxconn = cmd.getMaxconnections(); if (maxconn == null) { maxconn=Integer.parseInt(_configDao.getValue(Config.NetworkLBHaproxyMaxConn.key())); @@ -4711,9 +4711,10 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati offering.setAvailability(availability); } } - - if (maxconn != null) { - offering.setConcurrentConnections(maxconn); + if (_ntwkOffServiceMapDao.areServicesSupportedByNetworkOffering(offering.getId(), Service.Lb)){ + if (maxconn != null) { + offering.setConcurrentConnections(maxconn); + } } if (_networkOfferingDao.update(id, offering)) {