You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/01/15 07:53:00 UTC
[1/2] git commit: adding a property to keep lb cluster id per service
in service aware loadbalancing
Updated Branches:
refs/heads/master 395636f1e -> edcee0321
adding a property to keep lb cluster id per service in service aware loadbalancing
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/a2719b41
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/a2719b41
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/a2719b41
Branch: refs/heads/master
Commit: a2719b4181c1b020d4a76b48dec2373dd67f5baa
Parents: 9e064c8
Author: Isuru <is...@wso2.com>
Authored: Wed Jan 15 12:22:09 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Wed Jan 15 12:22:09 2014 +0530
----------------------------------------------------------------------
.../stratos/autoscaler/util/AutoscalerUtil.java | 22 +++++++++++++++-----
.../stratos/messaging/util/Constants.java | 1 +
.../rest/endpoint/services/ServiceUtils.java | 11 ++++++++++
3 files changed, 29 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a2719b41/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index e030156..50877dd 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -22,7 +22,9 @@ package org.apache.stratos.autoscaler.util;
import org.apache.axiom.om.OMElement;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.*;
+import org.apache.stratos.autoscaler.MemberStatsContext;
+import org.apache.stratos.autoscaler.NetworkPartitionContext;
+import org.apache.stratos.autoscaler.PartitionContext;
import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient;
import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
import org.apache.stratos.autoscaler.exception.PartitionValidationException;
@@ -43,10 +45,7 @@ import org.apache.stratos.messaging.domain.topology.MemberStatus;
import org.apache.stratos.messaging.util.Constants;
import javax.xml.namespace.QName;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Random;
+import java.util.*;
/**
* This class contains utility methods used by Autoscaler.
@@ -258,21 +257,34 @@ public class AutoscalerUtil {
// populate lb cluster id in network partition context.
java.util.Properties props = cluster.getProperties();
+
+ // get service type of load balanced cluster
+ String loadBalancedServiceType = props.getProperty(Constants.LOAD_BALANCED_SERVICE_TYPE);
if(props.containsKey(Constants.LOAD_BALANCER_REF)) {
String value = props.getProperty(Constants.LOAD_BALANCER_REF);
if (value.equals(org.apache.stratos.messaging.util.Constants.DEFAULT_LOAD_BALANCER)) {
networkPartitionContext.setDefaultLbClusterId(clusterId);
+
} else if (value.equals(org.apache.stratos.messaging.util.Constants.SERVICE_AWARE_LOAD_BALANCER)) {
String serviceName = cluster.getServiceName();
+ // TODO: check if this is correct
networkPartitionContext.addServiceLB(serviceName, clusterId);
+
+ if (loadBalancedServiceType != null && !loadBalancedServiceType.isEmpty()) {
+ networkPartitionContext.addServiceLB(loadBalancedServiceType, clusterId);
+ if (log.isDebugEnabled()) {
+ log.debug("Added cluster id " + clusterId + " as the LB cluster id for service type " + loadBalancedServiceType);
+ }
+ }
}
}
clusterMonitor.addNetworkPartitionCtxt(networkPartitionContext);
}
+ log.info("LB Cluster monitor created: "+clusterMonitor.toString());
return clusterMonitor;
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a2719b41/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/util/Constants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/util/Constants.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/util/Constants.java
index 346101e..f087d0b 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/util/Constants.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/util/Constants.java
@@ -50,4 +50,5 @@ public class Constants {
public static final String DEFAULT_LOAD_BALANCER = "default.load.balancer";
public static final String NO_LOAD_BALANCER = "no.load.balancer";
public static final String EXISTING_LOAD_BALANCERS = "existing.load.balancers";
+ public static final String LOAD_BALANCED_SERVICE_TYPE = "load.balanced.service.type";
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/a2719b41/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index c82ddf1..513bf2b 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -766,7 +766,14 @@ public class ServiceUtils {
} else if (Constants.SERVICE_AWARE_LOAD_BALANCER.equals(name)) {
if ("true".equals(value)) {
+
+ // add a property for the service type
+ Property loadBalancedServiceTypeProperty = new Property();
+ loadBalancedServiceTypeProperty.setName(Constants.LOAD_BALANCED_SERVICE_TYPE);
+
property.setValue(name);
+ // set the load balanced service type
+ loadBalancedServiceTypeProperty.setValue(cartridgeType);
if (log.isDebugEnabled()) {
log.debug("This cartridge uses a service aware load balancer. " +
"[Type] " + cartridgeType);
@@ -789,7 +796,11 @@ public class ServiceUtils {
String lbAlias =
"lb" + cartridgeType +
new Random().nextInt();
+
+
lbCartridgeInfo.addProperties(property);
+ lbCartridgeInfo.addProperties(loadBalancedServiceTypeProperty);
+
subscribeToLb(lbCartridgeType,
lbAlias,
lbCartridgeInfo.getDefaultAutoscalingPolicy(),
[2/2] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-stratos
Posted by is...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/edcee032
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/edcee032
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/edcee032
Branch: refs/heads/master
Commit: edcee03215639149f5b0f7b085ca63765924b49e
Parents: a2719b4 395636f
Author: Isuru <is...@wso2.com>
Authored: Wed Jan 15 12:22:38 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Wed Jan 15 12:22:38 2014 +0530
----------------------------------------------------------------------
.../autoscaler/NetworkPartitionContext.java | 7 +
.../stratos/autoscaler/PartitionContext.java | 144 ++++++++++++----
.../autoscaler/algorithm/OneAfterAnother.java | 6 +-
.../autoscaler/algorithm/RoundRobin.java | 6 +-
.../cloud/controller/CloudControllerClient.java | 2 +-
.../health/AutoscalerHealthStatReceiver.java | 12 +-
.../topology/AutoscalerTopologyReceiver.java | 27 ++-
.../autoscaler/rule/RuleTasksDelegator.java | 8 +-
.../stratos/autoscaler/util/AutoscalerUtil.java | 8 +-
.../stratos/autoscaler/TestMinimumRule.java | 2 +-
.../cloud/controller/iaases/AWSEC2Iaas.java | 17 ++
.../controller/iaases/OpenstackNovaIaas.java | 9 +
.../cloud/controller/iaases/VCloudIaas.java | 9 +
.../impl/CloudControllerServiceImpl.java | 46 +++--
.../cloud/controller/interfaces/Iaas.java | 5 +
.../LoadBalancerStatisticsReader.java | 6 +-
.../LoadBalancerStatisticsNotifier.java | 2 +-
.../TenantAwareLoadBalanceEndpoint.java | 2 +-
.../balancer/mediators/ResponseInterceptor.java | 2 +-
.../LoadBalancerStatisticsCollector.java | 114 ++++++++----
.../stat/HealthStatEventMessageQueue.java | 2 +-
.../InstanceNotifierEventMessageQueue.java | 2 +-
.../tenant/TenantEventMessageQueue.java | 2 +-
.../topology/TopologyEventMessageQueue.java | 2 +-
.../receiver/topology/TopologyManager.java | 2 +-
.../extension/HAProxyStatisticsReader.java | 2 +-
.../distribution/src/main/conf/scaling.drl | 2 +-
.../distribution/src/main/conf/terminateall.drl | 2 +-
.../stratos-manager/conf/sso-idp-config.xml | 59 ++++---
.../org.wso2.store.sso.common_1.0.0.jar | Bin 0 -> 13957 bytes
...so2.stratos.identity.saml2.sso.mgt_2.2.0.jar | Bin 0 -> 12276 bytes
.../conf/temp-artifacts/sso/module.xml | 6 +
.../temp-artifacts/sso/scripts/sso.client.js | 172 +++++++++++++++++++
.../modules/distribution/src/assembly/bin.xml | 20 +++
34 files changed, 552 insertions(+), 155 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/edcee032/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------