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 2016/01/05 16:47:53 UTC
[44/50] [abbrv] stratos git commit: Refactor AWS LB extension
Refactor AWS LB extension
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/fe640c60
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/fe640c60
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/fe640c60
Branch: refs/heads/stratos-4.1.x
Commit: fe640c60c7f82f786aab7f97a608f9afc559e047
Parents: 2e47aa7
Author: gayangunarathne <ga...@wso2.com>
Authored: Mon Dec 21 17:27:43 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Fri Dec 25 17:10:00 2015 +0530
----------------------------------------------------------------------
.../stratos/aws/extension/AWSLoadBalancer.java | 26 +++++++++++++++++---
.../org/apache/stratos/aws/extension/Main.java | 4 +--
2 files changed, 24 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/fe640c60/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
index 0274172..466b70d 100644
--- a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
+++ b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
@@ -127,7 +127,7 @@ public class AWSLoadBalancer implements LoadBalancer {
log.info(String.format("Load balancer %s created for cluster %s " , loadBalancerDNSName, cluster.getClusterId()));
- if(addClusterMembersInfo(clusterMembers, loadBalancerName, region)){
+ if(addClusterMembersInfo(clusterMembers, loadBalancerName, region,null)){
activeClusters.add(cluster.getClusterId());
}
@@ -191,7 +191,8 @@ public class AWSLoadBalancer implements LoadBalancer {
return true;
}
- private Boolean addClusterMembersInfo(Collection<Member> clusterMembers, String loadBalancerName, String region) {
+ private Boolean addClusterMembersInfo(Collection<Member> clusterMembers, String loadBalancerName, String region,
+ List<Instance> attachedInstances) {
Boolean isUpdated=false;
// Register instances in the cluster to load balancer
List<Instance> instances = new ArrayList<Instance>();
@@ -207,6 +208,22 @@ public class AWSLoadBalancer implements LoadBalancer {
}
Instance instance = new Instance();
+
+ if (attachedInstances == null || !attachedInstances.contains(instance)) {
+ instances.add(instance);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Instance " + awsHelper.getAWSInstanceName(member.getInstanceId()) +
+ " needs to be registered to load balancer " + loadBalancerName);
+ }
+
+ // LB Common Member has a property 'EC2_AVAILABILITY_ZONE' points to the ec2 availability zone
+ // for this member. Use the property value to update the LB about the relevant zone
+ String availabilityZone = getEC2AvaialbilityZoneOfMember(member);
+ if (availabilityZone != null) {
+ availabilityZones.add(availabilityZone);
+ }
+ }
instance.setInstanceId(awsHelper.getAWSInstanceName(instanceId));
instances.add(instance);
@@ -219,7 +236,8 @@ public class AWSLoadBalancer implements LoadBalancer {
// add stickiness policy
if (awsHelper.getAppStickySessionCookie() != null && !awsHelper.getAppStickySessionCookie().isEmpty()) {
- CreateAppCookieStickinessPolicyResult result = awsHelper.createStickySessionPolicy(loadBalancerName, awsHelper.getAppStickySessionCookie(),
+ CreateAppCookieStickinessPolicyResult result = awsHelper.createStickySessionPolicy(loadBalancerName,
+ awsHelper.getAppStickySessionCookie(),
Constants.STICKINESS_POLICY,
region);
@@ -290,7 +308,7 @@ public class AWSLoadBalancer implements LoadBalancer {
// clusterMembers stores all the members of a cluster.
Collection<Member> clusterMembers = cluster.getMembers();
- isUpdated= addClusterMembersInfo(clusterMembers, loadBalancerName, region);
+ isUpdated= addClusterMembersInfo(clusterMembers, loadBalancerName, region,attachedInstances);
return isUpdated;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/fe640c60/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
index 3d404ac..7a58df9 100644
--- a/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
+++ b/extensions/load-balancer/modules/aws-extension/src/main/java/org/apache/stratos/aws/extension/Main.java
@@ -36,8 +36,8 @@ import java.util.concurrent.ThreadPoolExecutor;
public class Main {
private static final Log log = LogFactory.getLog(Main.class);
private static ThreadPoolExecutor executor;
- public static final String AWS_EXTENSION_THREAD_POOL = "aws.extension.thread.pool";
- public static final int THREAD_POOL_SIZE = 10;
+// public static final String AWS_EXTENSION_THREAD_POOL = "aws.extension.thread.pool";
+// public static final int THREAD_POOL_SIZE = 10;
public static void main(String[] args) {