You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/10/09 16:35:33 UTC

[20/32] stratos git commit: Removed code for listeners update and break statement.

Removed code for listeners update and break statement.


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1855fddc
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1855fddc
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1855fddc

Branch: refs/heads/gsoc-projects-2015
Commit: 1855fddc46968cd26625531fe11181f211693e54
Parents: f6396ff
Author: swapnilpatilRajaram <sw...@students.iiit.ac.in>
Authored: Sat Aug 1 13:22:44 2015 +0000
Committer: swapnilpatilRajaram <sw...@students.iiit.ac.in>
Committed: Sat Aug 1 13:22:44 2015 +0000

----------------------------------------------------------------------
 .../aws/extension/AWSExtensionContext.java      |   2 +-
 .../apache/stratos/aws/extension/AWSHelper.java |  75 --------
 .../stratos/aws/extension/AWSLoadBalancer.java  | 188 +++++++------------
 3 files changed, 69 insertions(+), 196 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/1855fddc/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSExtensionContext.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSExtensionContext.java b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSExtensionContext.java
index bd55e34..d3da969 100644
--- a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSExtensionContext.java
+++ b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSExtensionContext.java
@@ -24,7 +24,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 /**
- * HAProxy context to read and store system properties.
+ * AWS Load Balancer context to read and store system properties.
  */
 public class AWSExtensionContext {
     private static final Log log = LogFactory.getLog(AWSExtensionContext.class);

http://git-wip-us.apache.org/repos/asf/stratos/blob/1855fddc/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
index f2e742c..e3f75a6 100644
--- a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
+++ b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSHelper.java
@@ -240,7 +240,6 @@ public class AWSHelper {
 
 			RegisterInstancesWithLoadBalancerResult result = lbClient
 					.registerInstancesWithLoadBalancer(registerInstancesWithLoadBalancerRequest);
-			return;
 
 		} catch (Exception e) {
 			log.error("Could not register instances to load balancer "
@@ -273,7 +272,6 @@ public class AWSHelper {
 
 			DeregisterInstancesFromLoadBalancerResult result = lbClient
 					.deregisterInstancesFromLoadBalancer(deregisterInstancesFromLoadBalancerRequest);
-			return;
 
 		} catch (Exception e) {
 			log.error("Could not de-register instances from load balancer "
@@ -351,79 +349,6 @@ public class AWSHelper {
 	}
 
 	/**
-	 * Adds listeners provided to the load balancer. Useful when service
-	 * definition is changed, in particular port mappings. So new listeners need
-	 * to be added.
-	 * 
-	 * @param loadBalancerName
-	 * @param listeners
-	 * @param region
-	 */
-	public void addListenersToLoadBalancer(String loadBalancerName,
-			List<Listener> listeners, String region) {
-		if (listeners.size() == 0)
-			return;
-
-		CreateLoadBalancerListenersRequest createLoadBalancerListenersRequest = new CreateLoadBalancerListenersRequest();
-		createLoadBalancerListenersRequest.setListeners(listeners);
-		createLoadBalancerListenersRequest
-				.setLoadBalancerName(loadBalancerName);
-
-		try {
-			lbClient.setEndpoint("elasticloadbalancing." + region
-					+ ".amazonaws.com");
-
-			lbClient.createLoadBalancerListeners(createLoadBalancerListenersRequest);
-			return;
-
-		} catch (Exception e) {
-			log.error("Could not add listeners to load balancer "
-					+ loadBalancerName);
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * Remove listeners provided from the load balancer. Useful when attached
-	 * listeners are no longer required.
-	 * 
-	 * @param loadBalancerName
-	 * @param listeners
-	 * @param region
-	 */
-	public void removeListenersFromLoadBalancer(String loadBalancerName,
-			List<Listener> listeners, String region) {
-		if (listeners.size() == 0)
-			return;
-
-		DeleteLoadBalancerListenersRequest deleteLoadBalancerListenersRequest = new DeleteLoadBalancerListenersRequest();
-		deleteLoadBalancerListenersRequest
-				.setLoadBalancerName(loadBalancerName);
-
-		List<Integer> loadBalancerPorts = new ArrayList<Integer>();
-
-		for (Listener listener : listeners) {
-			loadBalancerPorts.add(listener.getLoadBalancerPort());
-		}
-
-		deleteLoadBalancerListenersRequest
-				.setLoadBalancerPorts(loadBalancerPorts);
-
-		try {
-			lbClient.setEndpoint("elasticloadbalancing." + region
-					+ ".amazonaws.com");
-
-			lbClient.deleteLoadBalancerListeners(deleteLoadBalancerListenersRequest);
-			return;
-
-		} catch (Exception e) {
-			log.error("Could not remove listeners from load balancer "
-					+ loadBalancerName);
-			e.printStackTrace();
-		}
-	}
-
-	/**
 	 * Returns all the listeners attached to the load balancer. Useful while
 	 * deciding if all the listeners are necessary or some should be removed.
 	 * 

http://git-wip-us.apache.org/repos/asf/stratos/blob/1855fddc/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
index 4eff571..231c582 100644
--- a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
+++ b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/AWSLoadBalancer.java
@@ -55,8 +55,6 @@ public class AWSLoadBalancer implements LoadBalancer {
 		log.info("AWS load balancer extension re-configured.");
 
 		try {
-			// Thread.sleep(10000);
-
 			HashSet<String> activeClusters = new HashSet<String>();
 
 			for (Service service : topology.getServices()) {
@@ -84,158 +82,108 @@ public class AWSLoadBalancer implements LoadBalancer {
 
 						if (clusterMembers.size() > 0) {
 							activeClusters.add(cluster.getClusterId());
-						} else {
-							break;
-						}
 
-						List<Instance> instancesToAddToLoadBalancer = new ArrayList<Instance>();
-						List<Instance> awsInstancesInCluster = new ArrayList<Instance>();
+							List<Instance> instancesToAddToLoadBalancer = new ArrayList<Instance>();
+							List<Instance> awsInstancesInCluster = new ArrayList<Instance>();
 
-						for (Member member : clusterMembers) {
-							// if instance id of member is not in
-							// attachedInstances
-							// add this to instancesToAddToLoadBalancer
+							for (Member member : clusterMembers) {
+								// if instance id of member is not in
+								// attachedInstances
+								// add this to instancesToAddToLoadBalancer
 
-							System.out.println("Instance Id : "
-									+ member.getInstanceId());
-							System.out.println("New instance id : "
-									+ awsHelper.getAWSInstanceName(member
-											.getInstanceId()));
+								System.out.println("Instance Id : "
+										+ member.getInstanceId());
+								System.out.println("New instance id : "
+										+ awsHelper.getAWSInstanceName(member
+												.getInstanceId()));
 
-							Instance instance = new Instance(
-									awsHelper.getAWSInstanceName(member
-											.getInstanceId()));
+								Instance instance = new Instance(
+										awsHelper.getAWSInstanceName(member
+												.getInstanceId()));
 
-							awsInstancesInCluster.add(instance);
+								awsInstancesInCluster.add(instance);
 
-							if (attachedInstances == null
-									|| !attachedInstances.contains(instance)) {
-								instancesToAddToLoadBalancer.add(instance);
+								if (attachedInstances == null
+										|| !attachedInstances.contains(instance)) {
+									instancesToAddToLoadBalancer.add(instance);
+								}
 							}
 
-						}
-
-						List<Instance> instancesToRemoveFromLoadBalancer = new ArrayList<Instance>();
+							List<Instance> instancesToRemoveFromLoadBalancer = new ArrayList<Instance>();
 
-						for (Instance instance : attachedInstances) {
-							if (!awsInstancesInCluster.contains(instance)) {
-								instancesToRemoveFromLoadBalancer.add(instance);
+							for (Instance instance : attachedInstances) {
+								if (!awsInstancesInCluster.contains(instance)) {
+									instancesToRemoveFromLoadBalancer.add(instance);
+								}
 							}
-						}
-
-						if (instancesToRemoveFromLoadBalancer.size() > 0)
-							awsHelper.deregisterInstancesFromLoadBalancer(
-									loadBalancerName,
-									instancesToRemoveFromLoadBalancer, region);
 
-						if (instancesToAddToLoadBalancer.size() > 0)
-							awsHelper.registerInstancesToLoadBalancer(
-									loadBalancerName,
-									instancesToAddToLoadBalancer, region);
+							if (instancesToRemoveFromLoadBalancer.size() > 0)
+								awsHelper.deregisterInstancesFromLoadBalancer(
+										loadBalancerName,
+										instancesToRemoveFromLoadBalancer, region);
 
-						// 2. Get all the listeners
-						// Add/Remove listeners as necessary
+							if (instancesToAddToLoadBalancer.size() > 0)
+								awsHelper.registerInstancesToLoadBalancer(
+										loadBalancerName,
+										instancesToAddToLoadBalancer, region);
 
-						// Is it really necessary to add/remove listeners from a
-						// lb
-						// to a cluster
-						// Need to add only if a cluster can be used for more
-						// than
-						// one service (because a service my get added later)
-						// or service port mappings may change
-
-						// Need to remove only if ... same for above reason
-
-						List<Listener> attachedListeners = awsHelper
-								.getAttachedListeners(loadBalancerName, region);
-
-						List<Listener> listenersToAddToLoadBalancer = new ArrayList<Listener>();
-
-						List<Listener> listenersForThisCluster = awsHelper
-								.getRequiredListeners(clusterMembers.iterator()
-										.next());
-
-						for (Listener listener : listenersForThisCluster) {
-							if (attachedListeners == null
-									|| !attachedListeners.contains(listener)) {
-								listenersToAddToLoadBalancer.add(listener);
-							}
+							// Update domain mappings
 						}
 
-						List<Listener> listenersToRemoveFromLoadBalancer = new ArrayList<Listener>();
-
-						for (Listener listener : attachedListeners) {
-							if (!listenersForThisCluster.contains(listener)) {
-								listenersToRemoveFromLoadBalancer.add(listener);
-							}
-						}
-
-						if (listenersToRemoveFromLoadBalancer.size() > 0)
-							awsHelper.removeListenersFromLoadBalancer(
-									loadBalancerName,
-									listenersToRemoveFromLoadBalancer, region);
-
-						if (listenersToAddToLoadBalancer.size() > 0)
-							awsHelper.addListenersToLoadBalancer(
-									loadBalancerName,
-									listenersToAddToLoadBalancer, region);
-
-						// Update domain mappings
-
 					} else {
 						// Create a new load balancer for this cluster
 						Collection<Member> clusterMembers = cluster
 								.getMembers();
 
-						if (clusterMembers.size() == 0)
-							break;
+						if (clusterMembers.size() > 0){
 
-						String loadBalancerName = awsHelper
-								.generateLoadBalancerName();
+							String loadBalancerName = awsHelper
+									.generateLoadBalancerName();
 
-						String region = awsHelper.getAWSRegion(clusterMembers
-								.iterator().next().getInstanceId());
+							String region = awsHelper.getAWSRegion(clusterMembers
+									.iterator().next().getInstanceId());
 
-						List<Listener> listenersForThisCluster = awsHelper
-								.getRequiredListeners(clusterMembers.iterator()
-										.next());
+							List<Listener> listenersForThisCluster = awsHelper
+									.getRequiredListeners(clusterMembers.iterator()
+											.next());
 
-						String loadBalancerDNSName = awsHelper
-								.createLoadBalancer(loadBalancerName,
-										listenersForThisCluster, region);
+							String loadBalancerDNSName = awsHelper
+									.createLoadBalancer(loadBalancerName,
+											listenersForThisCluster, region);
 
-						log.info("Load balancer '" + loadBalancerDNSName
-								+ "' created for cluster '"
-								+ cluster.getClusterId());
+							log.info("Load balancer '" + loadBalancerDNSName
+									+ "' created for cluster '"
+									+ cluster.getClusterId());
 
-						// register instances to LB
-						List<Instance> instances = new ArrayList<Instance>();
+							// register instances to LB
+							List<Instance> instances = new ArrayList<Instance>();
 
-						for (Member member : clusterMembers) {
-							String instanceId = member.getInstanceId();
+							for (Member member : clusterMembers) {
+								String instanceId = member.getInstanceId();
 
-							System.out.println("Instance id : " + instanceId);
-							System.out.println("New instance id : "
-									+ awsHelper.getAWSInstanceName(instanceId));
+								System.out.println("Instance id : " + instanceId);
+								System.out.println("New instance id : "
+										+ awsHelper.getAWSInstanceName(instanceId));
 
-							Instance instance = new Instance();
-							instance.setInstanceId(awsHelper
-									.getAWSInstanceName(instanceId));
+								Instance instance = new Instance();
+								instance.setInstanceId(awsHelper
+										.getAWSInstanceName(instanceId));
 
-							instances.add(instance);
-						}
+								instances.add(instance);
+							}
 
-						awsHelper.registerInstancesToLoadBalancer(
-								loadBalancerName, instances, region);
+							awsHelper.registerInstancesToLoadBalancer(
+									loadBalancerName, instances, region);
 
-						// Create domain mappings
+							// Create domain mappings
 
-						LoadBalancerInfo loadBalancerInfo = new LoadBalancerInfo(
-								loadBalancerName, region);
+							LoadBalancerInfo loadBalancerInfo = new LoadBalancerInfo(
+									loadBalancerName, region);
 
-						clusterIdToLoadBalancerMap.put(cluster.getClusterId(),
-								loadBalancerInfo);
-						activeClusters.add(cluster.getClusterId());
+							clusterIdToLoadBalancerMap.put(cluster.getClusterId(),
+									loadBalancerInfo);
+							activeClusters.add(cluster.getClusterId());
+						}
 					}
 				}
 			}