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 2013/08/12 15:47:14 UTC

[08/10] git commit: Upgraded jclouds to 1.6.0 and fixed API issues. Related to STRATOS-41

Upgraded jclouds to 1.6.0 and fixed API issues. Related to STRATOS-41


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

Branch: refs/heads/master
Commit: 4ceeb87a9e11e3ce5a7325b29252c76e3bdaf4fa
Parents: dc1a21e
Author: Isuru Perera <is...@apache.org>
Authored: Sat Aug 10 20:36:54 2013 +0530
Committer: Isuru Perera <is...@apache.org>
Committed: Sat Aug 10 20:36:54 2013 +0530

----------------------------------------------------------------------
 .../org.apache.stratos.cloud.controller/pom.xml | 160 +++++++++----------
 .../cloud/controller/iaases/AWSEC2Iaas.java     |  33 ++--
 .../controller/iaases/OpenstackNovaIaas.java    |  64 +++-----
 .../impl/CloudControllerServiceImpl.java        |   2 +-
 .../pom.xml                                     |  47 +++---
 features/cloud-controller/pom.xml               |   4 -
 .../distribution/src/main/resources/launch.ini  |   1 +
 7 files changed, 141 insertions(+), 170 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/components/org.apache.stratos.cloud.controller/pom.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/pom.xml b/components/org.apache.stratos.cloud.controller/pom.xml
index 4cd23ae..2696030 100644
--- a/components/org.apache.stratos.cloud.controller/pom.xml
+++ b/components/org.apache.stratos.cloud.controller/pom.xml
@@ -28,7 +28,6 @@
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.stratos</groupId>
     <artifactId>org.apache.stratos.cloud.controller</artifactId>
     <packaging>bundle</packaging>
     <name>Apache Stratos - Cloud Controller</name>
@@ -128,13 +127,11 @@
         <dependency>
             <groupId>org.wso2.carbon</groupId>
             <artifactId>org.wso2.carbon.core</artifactId>
-	    <version>4.1.0</version>
-        </dependency>
+	    </dependency>
         <dependency>
             <groupId>org.wso2.carbon</groupId>
             <artifactId>org.wso2.carbon.utils</artifactId>
-	    <version>4.1.0</version>
-        </dependency>
+	    </dependency>
 
         <dependency>
             <groupId>org.apache.stratos</groupId>
@@ -160,11 +157,11 @@
     </exclusions>
 
 </dependency>
-<dependency>
-    <groupId>com.google.guava.wso2</groupId>
-    <artifactId>guava</artifactId>
-    <version>${google.guava.wso2.version}</version>
-</dependency>
+	<dependency>
+	    <groupId>com.google.guava</groupId>
+	    <artifactId>guava</artifactId>
+	    <version>14.0.1</version>
+	</dependency>
 <dependency>
         <groupId>org.wso2.andes.wso2</groupId>
         <artifactId>andes-client</artifactId>
@@ -182,85 +179,79 @@
        <version>4.1.0</version>
 </dependency>
 
-<!--  Jclouds dependencies -->
-       <dependency>
-           <groupId>org.jclouds</groupId>
-           <artifactId>jclouds-core</artifactId>
-           <version>${jclouds.version}</version>
-          </dependency>
-        <dependency>
-           <groupId>org.jclouds</groupId>
-           <artifactId>jclouds-compute</artifactId>
-           <version>${jclouds.version}</version>
-         </dependency>
-<!--
-	 <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>vcloud</artifactId>
-            <version>1.6.0-wso2v1</version>
-        </dependency>
--->
-         <dependency>
-           <groupId>org.jclouds.driver</groupId>
-           <artifactId>jclouds-bouncycastle</artifactId>
-           <version>${jclouds.version}</version>
-           <exclusions>
-              <exclusion>
-                 <groupId>org.bouncycastle</groupId>
-                 <artifactId>bcprov-jdk16</artifactId>
-              </exclusion>
-           </exclusions>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.driver</groupId>
-           <artifactId>jclouds-sshj</artifactId>
-           <version>${jclouds.version}</version>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.driver</groupId>
-           <artifactId>jclouds-log4j</artifactId>
-           <version>${jclouds.version}</version>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.driver</groupId>
-           <artifactId>jclouds-enterprise</artifactId>
-           <version>${jclouds.version}</version>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.api</groupId>
-           <artifactId>ec2</artifactId>
-           <version>${jclouds.version}</version>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.provider</groupId>
-           <artifactId>aws-ec2</artifactId>
-           <version>${jclouds.version}</version>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.api</groupId>
-           <artifactId>openstack-nova</artifactId>
-           <version>${jclouds.wso2.version}</version>
-         </dependency>
-         <dependency>
-           <groupId>org.jclouds.api</groupId>
-           <artifactId>openstack-keystone</artifactId>
-           <version>${jclouds.wso2.version}</version>
-         </dependency>
-         <dependency>
-          <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-scriptbuilder</artifactId>
-              <version>${jclouds.version}</version>
-         </dependency>
+		<!-- jclouds dependencies -->
+		<dependency>
+			<groupId>org.jclouds</groupId>
+			<artifactId>jclouds-core</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds</groupId>
+			<artifactId>jclouds-compute</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.driver</groupId>
+			<artifactId>jclouds-bouncycastle</artifactId>
+			<version>${jclouds.version}</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.bouncycastle</groupId>
+					<artifactId>bcprov-jdk16</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.driver</groupId>
+			<artifactId>jclouds-sshj</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.driver</groupId>
+			<artifactId>jclouds-log4j</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.driver</groupId>
+			<artifactId>jclouds-enterprise</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.api</groupId>
+			<artifactId>ec2</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.provider</groupId>
+			<artifactId>aws-ec2</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.api</groupId>
+			<artifactId>openstack-nova</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.api</groupId>
+			<artifactId>openstack-keystone</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds</groupId>
+			<artifactId>jclouds-scriptbuilder</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jclouds.api</groupId>
+			<artifactId>vcloud</artifactId>
+			<version>${jclouds.version}</version>
+		</dependency>
+
          <dependency>
              <groupId>com.jamesmurty.utils.wso2</groupId>
              <artifactId>java-xmlbuilder</artifactId>
              <version>0.4.wso2v1</version>
          </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>vcloud</artifactId>
-            <version>1.6.0-wso2v1</version>
-        </dependency>
          <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
@@ -314,7 +305,6 @@
     </dependencies>
     <properties>
         <gson2.version>2.2</gson2.version>
-        <jclouds.wso2.version>1.5.0-beta.5.wso2v1</jclouds.wso2.version>
         <com.google.guice.assistedinject.wso2.version>3.0.wso2v1</com.google.guice.assistedinject.wso2.version>
         <sun.jersey.version>1.12</sun.jersey.version>
     </properties>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
index aa08bb3..7a31a45 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
@@ -21,9 +21,16 @@ package org.apache.stratos.cloud.controller.iaases;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jclouds.aws.ec2.AWSEC2AsyncClient;
+import org.apache.stratos.cloud.controller.exception.CloudControllerException;
+import org.apache.stratos.cloud.controller.interfaces.Iaas;
+import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
+import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
+import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
+import org.apache.stratos.cloud.controller.util.IaasProvider;
+import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
 import org.jclouds.aws.ec2.AWSEC2Client;
 import org.jclouds.aws.ec2.compute.AWSEC2TemplateOptions;
 import org.jclouds.aws.ec2.domain.RegionNameAndPublicKeyMaterial;
@@ -35,13 +42,6 @@ import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.options.TemplateOptions;
 import org.jclouds.ec2.domain.KeyPair;
 import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.jclouds.rest.RestContext;
-import org.apache.stratos.cloud.controller.exception.CloudControllerException;
-import org.apache.stratos.cloud.controller.interfaces.Iaas;
-import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
-import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
 import org.wso2.carbon.utils.CarbonUtils;
 
 import com.google.common.base.Predicate;
@@ -160,10 +160,7 @@ public class AWSEC2Iaas extends Iaas {
 
 		ComputeServiceContext context = iaasInfo.getComputeService()
 				.getContext();
-		@SuppressWarnings("unchecked")
-		RestContext<AWSEC2Client, AWSEC2AsyncClient> restContext = context
-				.unwrap(RestContext.class);
-		AWSEC2Client ec2Client = restContext.getApi();
+		AWSEC2Client ec2Client = context.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi();
 
 		ImportOrReturnExistingKeypair importer = new ImportOrReturnExistingKeypair(
 				ec2Client);
@@ -192,12 +189,9 @@ public class AWSEC2Iaas extends Iaas {
 
 		ComputeServiceContext context = iaasInfo.getComputeService()
 				.getContext();
-		@SuppressWarnings("unchecked")
-		RestContext<AWSEC2Client, AWSEC2AsyncClient> restContext = context
-				.unwrap(RestContext.class);
-		AWSEC2Client ec2Client = restContext.getApi();
+		AWSEC2Client ec2Client = context.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi();
 		String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo);
-
+		
 		String ip = null;
 
 		// first try to find an unassigned IP.
@@ -284,10 +278,7 @@ public class AWSEC2Iaas extends Iaas {
 
 		ComputeServiceContext context = iaasInfo.getComputeService()
 				.getContext();
-		@SuppressWarnings("unchecked")
-		RestContext<AWSEC2Client, AWSEC2AsyncClient> restContext = context
-				.unwrap(RestContext.class);
-		AWSEC2Client ec2Client = restContext.getApi();
+		AWSEC2Client ec2Client = context.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi();
 		String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo);
 
 		ec2Client.getElasticIPAddressServices().disassociateAddressInRegion(

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
index 9f524ba..1af9e20 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
@@ -22,29 +22,27 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.exception.CloudControllerException;
 import org.apache.stratos.cloud.controller.interfaces.Iaas;
 import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
 import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.cloud.controller.util.IaasProvider;
 import org.jclouds.compute.ComputeServiceContext;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.NodeMetadataBuilder;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.openstack.nova.v2_0.NovaAsyncClient;
-import org.jclouds.openstack.nova.v2_0.NovaClient;
+import org.jclouds.openstack.nova.v2_0.NovaApi;
+import org.jclouds.openstack.nova.v2_0.NovaApiMetadata;
 import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.jclouds.openstack.nova.v2_0.domain.FloatingIP;
 import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
-import org.jclouds.openstack.nova.v2_0.extensions.FloatingIPClient;
-import org.jclouds.openstack.nova.v2_0.extensions.KeyPairClient;
-import org.jclouds.rest.InsufficientResourcesException;
-import org.jclouds.rest.RestContext;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
+import org.jclouds.openstack.nova.v2_0.extensions.FloatingIPApi;
+import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApi;
 import org.wso2.carbon.utils.CarbonUtils;
 
 import com.google.common.base.Predicate;
@@ -165,15 +163,11 @@ public class OpenstackNovaIaas extends Iaas {
 
 		ComputeServiceContext context = iaasInfo.getComputeService()
 				.getContext();
-		@SuppressWarnings("unchecked")
-		RestContext<NovaClient, NovaAsyncClient> restContext = context
-				.unwrap(RestContext.class);
+		NovaApi novaApi = context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
 
-		KeyPairClient api = restContext.getApi()
-				.getKeyPairExtensionForZone(region).get();
+		KeyPairApi api = novaApi.getKeyPairExtensionForZone(region).get();
 
-		KeyPair keyPair = api
-				.createKeyPairWithPublicKey(keyPairName, publicKey);
+		KeyPair keyPair = api.createWithPublicKey(keyPairName, publicKey);
 
 		if (keyPair != null) {
 
@@ -195,20 +189,17 @@ public class OpenstackNovaIaas extends Iaas {
 
 		ComputeServiceContext context = iaasInfo.getComputeService()
 				.getContext();
-		@SuppressWarnings("unchecked")
-		RestContext<NovaClient, NovaAsyncClient> restContext = context
-				.unwrap(RestContext.class);
 
-		NovaClient novaClient = restContext.getApi();
+		NovaApi novaClient = context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
 		String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo);
 
-		FloatingIPClient floatingIp = novaClient.getFloatingIPExtensionForZone(
+		FloatingIPApi floatingIp = novaClient.getFloatingIPExtensionForZone(
 				region).get();
 
 		String ip = null;
 		// first try to find an unassigned IP.
 		ArrayList<FloatingIP> unassignedIps = Lists.newArrayList(Iterables
-				.filter(floatingIp.listFloatingIPs(),
+				.filter(floatingIp.list(),
 						new Predicate<FloatingIP>() {
 
 							@Override
@@ -228,15 +219,13 @@ public class OpenstackNovaIaas extends Iaas {
 
 		// if no unassigned IP is available, we'll try to allocate an IP.
 		if (ip == null || ip.isEmpty()) {
-
-			try {
-				ip = floatingIp.allocate().getIp();
-
-			} catch (InsufficientResourcesException e) {
-				String msg = "Failed to allocate an IP address. All IP addresses are in use.";
-				log.error(msg, e);
-				throw new CloudControllerException(msg, e);
+			FloatingIP allocatedFloatingIP = floatingIp.create();
+			if (allocatedFloatingIP == null) {
+				String msg = "Failed to allocate an IP address.";
+				log.error(msg);
+				throw new CloudControllerException(msg);
 			}
+			ip = allocatedFloatingIP.getIp();
 		}
 
 		// wait till the fixed IP address gets assigned - this is needed before
@@ -269,28 +258,25 @@ public class OpenstackNovaIaas extends Iaas {
 
 		ComputeServiceContext context = iaasInfo.getComputeService()
 				.getContext();
-		@SuppressWarnings("unchecked")
-		RestContext<NovaClient, NovaAsyncClient> restContext = context
-				.unwrap(RestContext.class);
 
-		NovaClient novaClient = restContext.getApi();
+		NovaApi novaApi = context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
 		String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo);
 
-		FloatingIPClient floatingIpClient = novaClient
+		FloatingIPApi floatingIPApi = novaApi
 				.getFloatingIPExtensionForZone(region).get();
 
-		for (FloatingIP floatingIP : floatingIpClient.listFloatingIPs()) {
+		for (FloatingIP floatingIP : floatingIPApi.list()) {
 			if (floatingIP.getIp().equals(ip)) {
-				floatingIpClient.deallocate(floatingIP.getId());
+				floatingIPApi.delete(floatingIP.getId());
 				break;
 			}
 		}
 
 	}
 
-	private boolean associateIp(FloatingIPClient client, String ip, String id) {
+	private boolean associateIp(FloatingIPApi api, String ip, String id) {
 		try {
-			client.addFloatingIPToServer(ip, id);
+			api.addToServer(ip, id);
 			return true;
 		} catch (RuntimeException ex) {
 			return false;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index c55e1b3..1afe141 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@ -383,7 +383,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 							.getProperty(CloudControllerConstants.AUTO_ASSIGN_IP_PROPERTY);
 
 					// acquire the lock
-					lock.tryLock();
+					lock.lock();
 
 					try {
 						// reset ip

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
----------------------------------------------------------------------
diff --git a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
index 025cb35..d030400 100644
--- a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
+++ b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
@@ -78,23 +78,23 @@
          <dependency>
            <groupId>org.jclouds.api</groupId>
            <artifactId>ec2</artifactId>
-           <version>${jclouds.wso2.version}</version>
+           <version>${jclouds.version}</version>
          </dependency>
          <dependency>
            <groupId>org.jclouds.provider</groupId>
            <artifactId>aws-ec2</artifactId>
-           <version>${jclouds.wso2.version}</version>
+           <version>${jclouds.version}</version>
          </dependency>
          <dependency>
            <groupId>org.jclouds.api</groupId>
            <artifactId>openstack-nova</artifactId>
-           <version>${jclouds.wso2.version}</version>
+           <version>${jclouds.version}</version>
          </dependency>
          
          <dependency>
            <groupId>org.jclouds.api</groupId>
            <artifactId>openstack-keystone</artifactId>
-           <version>${jclouds.wso2.version}</version>
+           <version>${jclouds.version}</version>
          </dependency>
 
          <dependency>
@@ -103,9 +103,15 @@
               <version>${jclouds.version}</version>
          </dependency>
          <dependency>
-           <groupId>com.google.guava.wso2</groupId>
+           <groupId>org.jclouds.api</groupId>
+           <artifactId>sts</artifactId>
+           <version>${jclouds.version}</version>
+         </dependency>
+
+         <dependency>
+           <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
-           <version>${google.guava.wso2.version}</version>
+           <version>14.0.1</version>
          </dependency>
          <dependency>
       	     <groupId>com.jamesmurty.utils.wso2</groupId>
@@ -115,7 +121,7 @@
         <dependency>
             <groupId>org.jclouds.api</groupId>
             <artifactId>vcloud</artifactId>
-            <version>1.6.0-wso2v1</version>
+            <version>${jclouds.version}</version>
         </dependency>
          <dependency>
            <groupId>com.google.code.gson</groupId>
@@ -157,6 +163,11 @@
            <artifactId>org.apache.stratos.cartridge.messages</artifactId>
            <version>${project.version}</version>
          </dependency>
+         <dependency>
+           <groupId>javax.ws.rs</groupId>
+           <artifactId>jsr311-api</artifactId>
+           <version>1.1.1</version>
+         </dependency>
     </dependencies>
 
     <build>
@@ -212,18 +223,18 @@
                                 <bundleDef>org.apache.stratos:org.apache.stratos.cloud.controller:${project.version}</bundleDef>
                                 <bundleDef>org.jclouds.driver:jclouds-bouncycastle:${jclouds.version}</bundleDef>
                                 <bundleDef>org.jclouds.driver:jclouds-sshj:${jclouds.version}</bundleDef>
-                                <bundleDef>org.jclouds.driver:jclouds-log4j:${jclouds.version}</bundleDef>
+                                <!--bundleDef>org.jclouds.driver:jclouds-log4j:${jclouds.version}</bundleDef-->
                                 <bundleDef>org.jclouds.driver:jclouds-enterprise:${jclouds.version}</bundleDef>
                                 <bundleDef>org.jclouds:jclouds-core:${jclouds.version}</bundleDef>
                                 <bundleDef>org.jclouds:jclouds-compute:${jclouds.version}</bundleDef>
-                                <bundleDef>org.jclouds.api:ec2:${jclouds.wso2.version}</bundleDef>
-                                <bundleDef>org.jclouds.api:openstack-nova:${jclouds.wso2.version}</bundleDef>
-                                <bundleDef>org.jclouds.api:vcloud:1.6.0-wso2v1</bundleDef>
+                                <bundleDef>org.jclouds.api:ec2:${jclouds.version}</bundleDef>
+                                <bundleDef>org.jclouds.api:openstack-nova:${jclouds.version}</bundleDef>
+                                <bundleDef>org.jclouds.api:vcloud:${jclouds.version}</bundleDef>
                                 <bundleDef>com.jamesmurty.utils.wso2:java-xmlbuilder:0.4.wso2v1</bundleDef>
                                 <bundleDef>org.jclouds.common:openstack-common:${jclouds.version}</bundleDef>
-                                <bundleDef>org.jclouds.api:openstack-keystone:${jclouds.wso2.version}</bundleDef>
-                                <bundleDef>org.jclouds.provider:aws-ec2:${jclouds.wso2.version}</bundleDef>
-                                <bundleDef>com.google.guava.wso2:guava:${google.guava.wso2.version}</bundleDef>
+                                <bundleDef>org.jclouds.api:openstack-keystone:${jclouds.version}</bundleDef>
+                                <bundleDef>org.jclouds.provider:aws-ec2:${jclouds.version}</bundleDef>
+                                <bundleDef>com.google.guava:guava:14.0.1</bundleDef>
                                 <bundleDef>com.google.code.gson:gson:${gson2.version}</bundleDef>
                                 <bundleDef>com.google.guice.wso2:guice:${google.guice.wso2.version}</bundleDef>
                                 <bundleDef>com.google.guice.assistedinject.wso2:guice-assistedinject:${com.google.guice.assistedinject.wso2.version}</bundleDef>
@@ -245,7 +256,8 @@
                                 <bundleDef>jdom.wso2:jdom:1.0.0.wso2v1</bundleDef>
                                 <bundleDef>org.json.wso2:json:1.0.0.wso2v1</bundleDef>
                                 <!--bundleDef>org.jaggeryjs:0.9.0.ALPHA2-wso2v2</bundleDef-->
-                                
+                                <bundleDef>org.jclouds.api:sts:${jclouds.version}</bundleDef>
+                                <bundleDef>javax.ws.rs:jsr311-api:1.1.1</bundleDef>
                             </bundles>
                             <importBundles>
                             </importBundles>
@@ -279,9 +291,4 @@
             </plugin-->
         </plugins>
     </build>
-
-    <properties>
-        <jclouds.wso2.version>1.5.0-beta.5.wso2v1</jclouds.wso2.version>
-    </properties>
-
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/features/cloud-controller/pom.xml
----------------------------------------------------------------------
diff --git a/features/cloud-controller/pom.xml b/features/cloud-controller/pom.xml
index 94ecede..5a414bf 100644
--- a/features/cloud-controller/pom.xml
+++ b/features/cloud-controller/pom.xml
@@ -39,9 +39,5 @@
         <module>org.apache.stratos.cloud.controller.feature</module>
     </modules>
 
-    <properties>
-        <wso2carbon.version.cc.mgt>2.1.1</wso2carbon.version.cc.mgt>
-    </properties>
-
 </project>
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4ceeb87a/products/cloud-controller/modules/distribution/src/main/resources/launch.ini
----------------------------------------------------------------------
diff --git a/products/cloud-controller/modules/distribution/src/main/resources/launch.ini b/products/cloud-controller/modules/distribution/src/main/resources/launch.ini
index f05201c..8cf9c14 100644
--- a/products/cloud-controller/modules/distribution/src/main/resources/launch.ini
+++ b/products/cloud-controller/modules/distribution/src/main/resources/launch.ini
@@ -28,6 +28,7 @@ osgi.clean=true
 
 # Following system property allows us to control the public JDK packages exported through the system bundle.
 org.osgi.framework.system.packages=javax.accessibility,\
+javax.lang.model.type, \
 javax.activity,\
 javax.crypto,\
 javax.crypto.interfaces,\