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:25 UTC
[12/32] stratos git commit: Code chamges to set endpoint of AWS
Client and testing instanceId.
Code chamges to set endpoint of AWS Client and testing instanceId.
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/64799403
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/64799403
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/64799403
Branch: refs/heads/gsoc-projects-2015
Commit: 647994033661ad307114cd775dc532ecd08dd497
Parents: 75fe3e4
Author: swapnilpatilRajaram <sw...@students.iiit.ac.in>
Authored: Wed Jul 1 08:09:03 2015 +0000
Committer: swapnilpatilRajaram <sw...@students.iiit.ac.in>
Committed: Wed Jul 1 08:09:03 2015 +0000
----------------------------------------------------------------------
extensions/load-balancer/aws-extension/pom.xml | 5 ++++
.../src/main/conf/aws-credentials.conf | 4 ++-
.../apache/stratos/aws/extension/AWSHelper.java | 27 ++++++++++++++++++++
.../stratos/aws/extension/AWSLoadBalancer.java | 13 ++++++----
.../apache/stratos/aws/extension/Constants.java | 2 ++
5 files changed, 45 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/64799403/extensions/load-balancer/aws-extension/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/aws-extension/pom.xml b/extensions/load-balancer/aws-extension/pom.xml
index 282c8ce..b99c062 100644
--- a/extensions/load-balancer/aws-extension/pom.xml
+++ b/extensions/load-balancer/aws-extension/pom.xml
@@ -71,6 +71,11 @@
<artifactId>aws-java-sdk</artifactId>
<version>1.8.8</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents.wso2</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.2.5.wso2v1</version>
+ </dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/stratos/blob/64799403/extensions/load-balancer/aws-extension/src/main/conf/aws-credentials.conf
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/aws-extension/src/main/conf/aws-credentials.conf b/extensions/load-balancer/aws-extension/src/main/conf/aws-credentials.conf
index d9d296c..0dbcb4a 100644
--- a/extensions/load-balancer/aws-extension/src/main/conf/aws-credentials.conf
+++ b/extensions/load-balancer/aws-extension/src/main/conf/aws-credentials.conf
@@ -1,2 +1,4 @@
access-key=
-secret-key=
\ No newline at end of file
+secret-key=
+availability-zone=
+region=
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/stratos/blob/64799403/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 a9af51d..438289a 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
@@ -38,10 +38,15 @@ import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.elasticloadbalancing.AmazonElasticLoadBalancingClient;
import com.amazonaws.services.elasticloadbalancing.model.*;
+/**
+ * @author swapnil
+ *
+ */
public class AWSHelper {
private String awsAccessKey;
private String awsSecretKey;
private String availabilityZone;
+ private String region;
private BasicAWSCredentials awsCredentials;
private ClientConfiguration clientConfiguration;
@@ -68,6 +73,9 @@ public class AWSHelper {
.getProperty(Constants.AWS_ACCESS_KEY);
this.awsSecretKey = properties
.getProperty(Constants.AWS_SECRET_KEY);
+ this.availabilityZone = properties
+ .getProperty(Constants.AVAILABILITY_ZONE_KEY);
+ this.region = properties.getProperty(Constants.REGION_KEY);
} catch (IOException e) {
log.error("Error reading aws configuration file.");
throw new LoadBalancerExtensionException(
@@ -106,6 +114,8 @@ public class AWSHelper {
AmazonElasticLoadBalancingClient lbClient = new AmazonElasticLoadBalancingClient(
awsCredentials, clientConfiguration);
+ lbClient.setEndpoint("elasticloadbalancing." + this.region
+ + ".amazonaws.com");
CreateLoadBalancerResult clbResult = lbClient
.createLoadBalancer(createLoadBalancerRequest);
@@ -113,6 +123,7 @@ public class AWSHelper {
return clbResult.getDNSName();
} catch (Exception e) {
log.error("Could not create load balancer : " + name + ".");
+ e.printStackTrace();
return null;
}
}
@@ -366,4 +377,20 @@ public class AWSHelper {
return listeners;
}
+
+ /**
+ * Constructs name of the load balancer to be associated with the cluster
+ *
+ * @param clusterId
+ * @return name of the load balancer
+ */
+ public String getLoadBalancerName(String clusterId) {
+ String name = null;
+ int length = clusterId.length();
+ int endIndex = length > 31 ? 31 : length;
+ name = clusterId.substring(0, endIndex);
+ name = name.replace('.', '-');
+
+ return name;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/64799403/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 530da8e..8aafce2 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
@@ -85,6 +85,9 @@ public class AWSLoadBalancer implements LoadBalancer {
// if instance id of member is not in attachedInstances
// add this to instancesToAddToLoadBalancer
+ System.out.println("Instance Id :");
+ System.out.println(member.getInstanceId());
+
Instance instance = new Instance(member.getInstanceId());
if (!attachedInstances.contains(instance)) {
@@ -161,8 +164,7 @@ public class AWSLoadBalancer implements LoadBalancer {
} else {
// Create a new load balancer for this cluster
- String loadBalancerName = service.getServiceName() + "-"
- + cluster.getClusterId();
+ String loadBalancerName = awsHelper.getLoadBalancerName(cluster.getClusterId());
String loadBalancerDNSName = awsHelper.createLoadBalancer(
loadBalancerName, listenersForThisService);
@@ -171,10 +173,11 @@ public class AWSLoadBalancer implements LoadBalancer {
List<Instance> instances = new ArrayList<Instance>();
- for (Member m : cluster.getMembers()) {
- String instanceId = ""; // of member // after making
- // changes suggested in mail
+ for (Member member : cluster.getMembers()) {
+ String instanceId = member.getInstanceId();
+ System.out.println("Instance id : " + instanceId);
+
Instance instance = new Instance();
instance.setInstanceId(instanceId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/64799403/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/Constants.java
----------------------------------------------------------------------
diff --git a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/Constants.java b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/Constants.java
index 71c7ef7..d3c4d42 100644
--- a/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/Constants.java
+++ b/extensions/load-balancer/aws-extension/src/main/java/org/apache/stratos/aws/extension/Constants.java
@@ -32,4 +32,6 @@ public class Constants {
public static final String AWS_CREDENTIALS_FILE="aws.credentials.file";
public static final String AWS_ACCESS_KEY = "access-key";
public static final String AWS_SECRET_KEY = "secret-key";
+ public static final String AVAILABILITY_ZONE_KEY = "availability-zone";
+ public static final String REGION_KEY = "region";
}