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/04/05 16:52:31 UTC

[1/2] git commit: Updated filter.properties for Stratos product

Repository: incubator-stratos
Updated Branches:
  refs/heads/master 0b9a1a432 -> 133f96bc3


Updated filter.properties for Stratos product


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

Branch: refs/heads/master
Commit: 80e75a7813a062c43eb8d8c0998127d051ac8881
Parents: 0b9a1a4
Author: M. Isuru Tharanga Chrishantha Perera <is...@apache.org>
Authored: Sat Apr 5 20:18:59 2014 +0530
Committer: M. Isuru Tharanga Chrishantha Perera <is...@apache.org>
Committed: Sat Apr 5 20:18:59 2014 +0530

----------------------------------------------------------------------
 .../modules/distribution/src/assembly/filter.properties      | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/80e75a78/products/stratos/modules/distribution/src/assembly/filter.properties
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/assembly/filter.properties b/products/stratos/modules/distribution/src/assembly/filter.properties
index 4ea7fb2..0ff05ac 100755
--- a/products/stratos/modules/distribution/src/assembly/filter.properties
+++ b/products/stratos/modules/distribution/src/assembly/filter.properties
@@ -17,10 +17,10 @@
 # under the License.
 #
 
-product.name=Apache Stratos Controller
-product.key=SCC
+product.name=Apache Stratos
+product.key=STRATOS
 product.version=4.0.0-SNAPSHOT
 hotdeployment=true
 hotupdate=false
-carbon.version=4.1.3
-default.server.role=Stratos Controller
+carbon.version=4.2.0
+default.server.role=Stratos


[2/2] git commit: Changed List in ClusterContext to an Array type. Removed IllegalArgumentException from the method signatures in CloudControllerServce. Updated CloudControllerServce.wsdl

Posted by is...@apache.org.
Changed List<Volume> in ClusterContext to an Array type. Removed IllegalArgumentException from the method signatures in CloudControllerServce. Updated CloudControllerServce.wsdl


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

Branch: refs/heads/master
Commit: 133f96bc31184a1180e262e5fd5335342efc1934
Parents: 80e75a7
Author: M. Isuru Tharanga Chrishantha Perera <is...@apache.org>
Authored: Sat Apr 5 20:22:18 2014 +0530
Committer: M. Isuru Tharanga Chrishantha Perera <is...@apache.org>
Committed: Sat Apr 5 20:22:18 2014 +0530

----------------------------------------------------------------------
 .../cloud/controller/CloudControllerClient.java |  11 -
 .../impl/CloudControllerServiceImpl.java        |  42 ++-
 .../interfaces/CloudControllerService.java      |  12 +-
 .../cloud/controller/pojo/ClusterContext.java   |  18 +-
 .../client/CloudControllerServiceClient.java    |   6 +-
 .../category/DefaultLoadBalancerCategory.java   |   2 +-
 .../utils/ApplicationManagementUtil.java        |   7 +-
 .../rest/endpoint/services/ServiceUtils.java    |   5 -
 .../main/resources/CloudControllerService.wsdl  | 279 ++++++++-----------
 9 files changed, 150 insertions(+), 232 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
index 910353b..e41348c 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
@@ -148,9 +148,6 @@ public class CloudControllerClient {
                 log.debug(String.format("Service call startInstance() returned in %dms", (endTime - startTime)));
             }
             return memberContext;
-        } catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-        	log.error(e.getMessage(), e);
-            throw new SpawningException(e.getMessage(), e);
         } catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
         	String message = e.getFaultMessage().getUnregisteredCartridgeException().getMessage();
         	log.error(message, e);
@@ -185,10 +182,6 @@ public class CloudControllerClient {
         	String message = e.getFaultMessage().getInvalidClusterException().getMessage();
             log.error(message, e);
             throw new TerminationException(message, e);
-        } catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-        	String msg = e.getMessage();
-            log.error(msg, e);
-            throw new TerminationException(msg, e);
         }
     }
 
@@ -207,10 +200,6 @@ public class CloudControllerClient {
         	String msg = e.getMessage();
             log.error(msg, e);
             throw new TerminationException(msg, e);
-        } catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-        	String msg = e.getMessage();
-            log.error(msg, e);
-            throw new TerminationException(msg, e);
         } catch (CloudControllerServiceInvalidMemberExceptionException e) {
         	String msg = e.getFaultMessage().getInvalidMemberException().getMessage();
             log.error(msg, e);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/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 06369b6..56cc2b0 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
@@ -110,7 +110,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 	}
 
     public void deployCartridgeDefinition(CartridgeConfig cartridgeConfig) throws InvalidCartridgeDefinitionException, 
-    InvalidIaasProviderException, IllegalArgumentException {
+    InvalidIaasProviderException {
 
         if (cartridgeConfig == null) {
             String msg = "Invalid Cartridge Definition: Definition is null.";
@@ -214,7 +214,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
     
     @Override
-    public MemberContext startInstance(MemberContext memberContext) throws IllegalArgumentException,
+    public MemberContext startInstance(MemberContext memberContext) throws
         UnregisteredCartridgeException, InvalidIaasProviderException {
     	
     	if(log.isDebugEnabled()) {
@@ -339,8 +339,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
             String group = str.replaceAll("[^a-z0-9-]", "");
             
             if(ctxt.isVolumeRequired()) {
-            	if (!ctxt.getListOfVolumes().isEmpty()) {
-            		for (Volume volume : ctxt.getListOfVolumes()) {
+            	if (ctxt.getVolumes() != null) {
+            		for (Volume volume : ctxt.getVolumes()) {
 						
             			if (volume.getId() == null) {
             				// create a new volume
@@ -383,8 +383,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 						.substring(nodeId.indexOf('/') + 1, nodeId.length())
 						: nodeId;
 				memberContext.setInstanceId(instanceId);
-				if (!ctxt.getListOfVolumes().isEmpty()) {
-					for (Volume volume : ctxt.getListOfVolumes()) {
+				if (ctxt.getVolumes() != null) {
+					for (Volume volume : ctxt.getVolumes()) {
 						try {
 							iaas.attachVolume(instanceId, volume.getId(),
 									volume.getDevice());
@@ -473,8 +473,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
 
     @Override
-    public void terminateInstance(String memberId) throws InvalidMemberException, InvalidCartridgeTypeException, 
-    IllegalArgumentException{
+    public void terminateInstance(String memberId) throws InvalidMemberException, InvalidCartridgeTypeException 
+    {
 
         if(memberId == null) {
             String msg = "Termination failed. Null member id.";
@@ -704,7 +704,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
     }
 
 	@Override
-	public void terminateAllInstances(String clusterId) throws IllegalArgumentException, InvalidClusterException {
+	public void terminateAllInstances(String clusterId) throws InvalidClusterException {
 
 		log.info("Starting to terminate all instances of cluster : "
 				+ clusterId);
@@ -773,8 +773,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 	private void detachVolume(IaasProvider iaasProvider, MemberContext ctxt) {
 		String clusterId = ctxt.getClusterId();
 		ClusterContext clusterCtxt = dataHolder.getClusterContext(clusterId);
-		if (clusterCtxt.getListOfVolumes() != null) {
-			for (Volume volume : clusterCtxt.getListOfVolumes()) {
+		if (clusterCtxt.getVolumes() != null) {
+			for (Volume volume : clusterCtxt.getVolumes()) {
 				
 				try {
 					String volumeId = volume.getId();
@@ -818,7 +818,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
 
 	@Override
 	public boolean registerService(Registrant registrant)
-			throws UnregisteredCartridgeException, IllegalArgumentException {
+			throws UnregisteredCartridgeException {
 
 	    String cartridgeType = registrant.getCartridgeType();
 	    String clusterId = registrant.getClusterId();
@@ -887,15 +887,10 @@ public class CloudControllerServiceImpl implements CloudControllerService {
         		for (Volume volume : volumes) {
         			int volumeSize = property != null ? Integer.parseInt(property) : volume.getSize();
         			boolean shouldDeleteVolume = property != null ? Boolean.parseBoolean(property) : volume.isRemoveOntermination();
-        			
-        			Volume v = new Volume();
-        			v.setSize(volumeSize);
-        			v.setRemoveOntermination(shouldDeleteVolume);
-        			v.setDevice(volume.getDevice());
-        			v.setMappingPath(volume.getMappingPath());
-        			ctxt.addVolume(v);
-					
+        			volume.setSize(volumeSize);
+        			volume.setRemoveOntermination(shouldDeleteVolume);
 				}
+        		ctxt.setVolumes(volumes);
         	} else {
         		// if we cannot find necessary data, we would not consider 
         		// this as a volume required instance.
@@ -1000,7 +995,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
                  }
                  Collection<Member> members = TopologyManager.getTopology().
                          getService(ctxt.getCartridgeType()).getCluster(clusterId_).getMembers();
-                 long endTime = System.currentTimeMillis() + ctxt.getTimeoutInMillis() * members.size();
+                 // TODO why end time is needed?
+                 // long endTime = System.currentTimeMillis() + ctxt.getTimeoutInMillis() * members.size();
 
                  while(members.size() > 0) {
                     //waiting until all the members got removed from the Topology/ timed out
@@ -1018,8 +1014,8 @@ public class CloudControllerServiceImpl implements CloudControllerService {
             private void deleteVolumes(ClusterContext ctxt) {
                 if(ctxt.isVolumeRequired()) {
                      Cartridge cartridge = dataHolder.getCartridge(ctxt.getCartridgeType());
-                     if(cartridge != null && cartridge.getIaases() != null && !ctxt.getListOfVolumes().isEmpty()) {
-                         for (Volume volume : ctxt.getListOfVolumes()) {
+                     if(cartridge != null && cartridge.getIaases() != null && ctxt.getVolumes() != null) {
+                         for (Volume volume : ctxt.getVolumes()) {
                             if(volume.getId() != null) {
                                 String iaasType = volume.getIaasType();
                                 Iaas iaas = dataHolder.getIaasProvider(iaasType).getIaas();

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
index db01c2d..216393c 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
@@ -44,7 +44,7 @@ public interface CloudControllerService {
 	 * @throws IllegalArgumentException  if the provided argument is not valid.
 	 */
     public void deployCartridgeDefinition(CartridgeConfig cartridgeConfig) 
-            throws InvalidCartridgeDefinitionException, InvalidIaasProviderException, IllegalArgumentException;
+            throws InvalidCartridgeDefinitionException, InvalidIaasProviderException;
     
     /**
      * Undeploys a Cartridge configuration which is already deployed.
@@ -85,8 +85,7 @@ public interface CloudControllerService {
      *             when the cartridge type requested by this service is
      *             not a registered one.
      */
-    public boolean registerService(Registrant registrant) throws UnregisteredCartridgeException, 
-    IllegalArgumentException;
+    public boolean registerService(Registrant registrant) throws UnregisteredCartridgeException;
 
     /**
      * Calling this method will result in an instance startup, which is belong
@@ -104,7 +103,7 @@ public interface CloudControllerService {
      * @throws UnregisteredCartridgeException if the requested Cartridge type is not a registered one.
      * @throws InvalidIaasProviderException if the iaas requested is not valid.
      */
-    public MemberContext startInstance(MemberContext member) throws IllegalArgumentException, UnregisteredCartridgeException, InvalidIaasProviderException;
+    public MemberContext startInstance(MemberContext member) throws UnregisteredCartridgeException, InvalidIaasProviderException;
 
     /**
      * Calling this method will spawn more than one instances in the
@@ -131,8 +130,7 @@ public interface CloudControllerService {
      *            an instance need to be terminated..
      * @return whether an instance terminated successfully or not.
      */
-    public void terminateInstance(String memberId) throws InvalidMemberException, InvalidCartridgeTypeException, 
-    IllegalArgumentException;
+    public void terminateInstance(String memberId) throws InvalidMemberException, InvalidCartridgeTypeException;
     
     /**
      * Calling this method will result in termination of an instance which is belong
@@ -180,7 +178,7 @@ public interface CloudControllerService {
      *            cluster ID of the instance to be terminated.
      * @return whether an instance terminated successfully or not.
      */
-    public void terminateAllInstances(String clusterId) throws IllegalArgumentException, InvalidClusterException;
+    public void terminateAllInstances(String clusterId) throws InvalidClusterException;
 
     /**
     /**

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ClusterContext.java
index d3414e4..02dc146 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ClusterContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ClusterContext.java
@@ -19,8 +19,6 @@
 package org.apache.stratos.cloud.controller.pojo;
 
 import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Holds runtime data of a Cluster.
@@ -39,7 +37,7 @@ public class ClusterContext implements Serializable{
     private String hostName;
     private boolean isLbCluster;
     private boolean isVolumeRequired;
-    private List<Volume> listOfVolumes;
+    private Volume[] volumes;
     // timeout in milliseconds - this would be the per member time that CC waits before forcefully terminate instances on an unregistration.
     private long timeoutInMillis;
 
@@ -50,11 +48,6 @@ public class ClusterContext implements Serializable{
         this.payload = payload;
         this.setHostName(hostName);
         this.isLbCluster = isLbCluster;
-        this.setListOfVolumes(new ArrayList<Volume>());
-    }
-    
-    public void addVolume(Volume volume) {
-    	this.getListOfVolumes().add(volume);
     }
     
     public String getClusterId() {
@@ -108,12 +101,11 @@ public class ClusterContext implements Serializable{
 		this.timeoutInMillis = timeoutInMillis;
 	}
 
-	public List<Volume> getListOfVolumes() {
-		return listOfVolumes;
+	public Volume[] getVolumes() {
+		return volumes;
 	}
 
-	public void setListOfVolumes(List<Volume> listOfVolumes) {
-		this.listOfVolumes = listOfVolumes;
+	public void setVolumes(Volume[] volumes) {
+		this.volumes = volumes;
 	}
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
index 1bfd4ad..df6625e 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java
@@ -27,7 +27,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.stub.pojo.*;
 import org.apache.stratos.manager.internal.DataHolder;
 import org.apache.stratos.manager.utils.CartridgeConstants;
-import org.apache.stratos.cloud.controller.stub.CloudControllerServiceIllegalArgumentExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeDefinitionExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidClusterExceptionException;
@@ -81,7 +80,7 @@ public class CloudControllerServiceClient {
 
     public void deployCartridgeDefinition (CartridgeConfig cartridgeConfig) 
     		throws RemoteException, CloudControllerServiceInvalidCartridgeDefinitionExceptionException, 
-    		CloudControllerServiceInvalidIaasProviderExceptionException, CloudControllerServiceIllegalArgumentExceptionException {
+    		CloudControllerServiceInvalidIaasProviderExceptionException {
 
 		stub.deployCartridgeDefinition(cartridgeConfig);
 
@@ -97,7 +96,6 @@ public class CloudControllerServiceClient {
 	                        String payload, String tenantRange,
                             String hostName, Properties properties,
                             String autoscalorPolicyName, String deploymentPolicyName) throws RemoteException, 
-                            CloudControllerServiceIllegalArgumentExceptionException, 
                             CloudControllerServiceUnregisteredCartridgeExceptionException {		
 	    Registrant registrant = new Registrant();
 	    registrant.setClusterId(clusterId);
@@ -134,7 +132,7 @@ public class CloudControllerServiceClient {
     }
 
     public void terminateAllInstances(String clusterId) throws RemoteException, 
-    CloudControllerServiceInvalidClusterExceptionException, CloudControllerServiceIllegalArgumentExceptionException {
+    CloudControllerServiceInvalidClusterExceptionException {
 		stub.terminateAllInstances(clusterId);
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java
index 2a8c98f..7952de0 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java
@@ -70,7 +70,7 @@ public class DefaultLoadBalancerCategory extends LoadBalancerCategory {
                 clusterContext = CloudControllerServiceClient.getServiceClient().getClusterContext(clusterId);
 
             } catch (RemoteException e) {
-                log.error("Error occurred in retrieving Cluster Context for default LB" + e.getMessage());
+                log.error("Error occurred in retrieving Cluster Context for default LB ", e);
                 throw new ADCException(e);
             }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/ApplicationManagementUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/ApplicationManagementUtil.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/ApplicationManagementUtil.java
index 477f763..d0136f5 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/ApplicationManagementUtil.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/ApplicationManagementUtil.java
@@ -38,7 +38,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo;
 import org.apache.stratos.cloud.controller.stub.pojo.Properties;
 import org.apache.stratos.cloud.controller.stub.pojo.Property;
-import org.apache.stratos.cloud.controller.stub.CloudControllerServiceIllegalArgumentExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
 import org.apache.stratos.manager.client.CloudControllerServiceClient;
 import org.apache.stratos.manager.dao.CartridgeSubscriptionInfo;
@@ -256,17 +255,13 @@ public class ApplicationManagementUtil {
         try {
             CloudControllerServiceClient.getServiceClient().register(domain, cartridgeType, payload.toString(), tenantRange,
                     hostName, properties, autoscalingPoliyName, deploymentPolicyName );
-        } catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-            String msg = "Exception is occurred in register service operation. Reason :" + e.getMessage();
-            log.error(msg, e);
-            throw new IllegalArgumentException("Not a registered cartridge " + cartridgeType, e);
         } catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
             String msg = "Exception is occurred in register service operation. Reason :" + e.getMessage();
             log.error(msg, e);
             throw new UnregisteredCartridgeException("Not a registered cartridge " + cartridgeType, cartridgeType, e);
         } catch (RemoteException e) {
         	log.error("Remote Error", e);
-        	throw new ADCException("An error occurred in subscribing process");
+        	throw new ADCException("An error occurred in subscribing process", e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/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 44413a5..45d1d9c 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
@@ -28,7 +28,6 @@ import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo;
 import org.apache.stratos.cloud.controller.stub.pojo.Property;
 import org.apache.stratos.autoscaler.stub.AutoScalerServiceInvalidPartitionExceptionException;
 import org.apache.stratos.autoscaler.stub.AutoScalerServiceInvalidPolicyExceptionException;
-import org.apache.stratos.cloud.controller.stub.CloudControllerServiceIllegalArgumentExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeDefinitionExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
 import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidIaasProviderExceptionException;
@@ -111,10 +110,6 @@ public class ServiceUtils {
 				String message = e.getFaultMessage().getInvalidIaasProviderException().getMessage();
 				log.error(message, e);
 				throw new RestAPIException(message, e);
-			} catch (CloudControllerServiceIllegalArgumentExceptionException e) {
-				String msg = e.getMessage();
-				log.error(msg, e);
-				throw new RestAPIException(msg, e);
 			}
                 
             log.info("Successfully deployed Cartridge [type] "+cartridgeDefinitionBean.type);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/133f96bc/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index e3a2c52..ac16821 100644
--- a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -17,31 +17,31 @@
   ~ under the License.
   -->
 
-<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax220="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://impl.controller.cloud.stratos.apache.org" xmlns:ax222="http://pojo.controller.cloud.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax224="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.controller.cloud.stratos.apache.org">
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax220="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax221="http://pojo.controller.cloud.stratos.apache.org/xsd" xmlns:ns="http://impl.controller.cloud.stratos.apache.org" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax218="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.controller.cloud.stratos.apache.org">
     <wsdl:documentation>CloudControllerService</wsdl:documentation>
     <wsdl:types>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.controller.cloud.stratos.apache.org/xsd">
-            <xs:complexType name="UnregisteredClusterException">
+            <xs:complexType name="InvalidPartitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidCartridgeDefinitionException">
+            <xs:complexType name="UnregisteredClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidIaasProviderException">
+            <xs:complexType name="UnregisteredCartridgeException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="UnregisteredCartridgeException">
+            <xs:complexType name="InvalidCartridgeDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidPartitionException">
+            <xs:complexType name="InvalidIaasProviderException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
@@ -62,98 +62,91 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax221="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:ax223="http://pojo.controller.cloud.stratos.apache.org/xsd" xmlns:ax226="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.controller.cloud.stratos.apache.org">
+        <xs:schema xmlns:ax219="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:ax223="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" xmlns:ax224="http://pojo.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.controller.cloud.stratos.apache.org">
             <xs:import namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://pojo.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import namespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd"/>
-            <xs:element name="CloudControllerServiceUnregisteredClusterException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax220:UnregisteredClusterException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="unregisterService">
+            <xs:import namespace="http://pojo.controller.cloud.stratos.apache.org/xsd"/>
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax219:InvalidPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
+            <xs:element name="validatePartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax220:InvalidCartridgeDefinitionException"/>
+                        <xs:element minOccurs="0" name="partition" nillable="true" type="ax220:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
+            <xs:element name="validatePartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax220:InvalidIaasProviderException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceIllegalArgumentException">
+            <xs:element name="CloudControllerServiceUnregisteredClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="IllegalArgumentException" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax219:UnregisteredClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployCartridgeDefinition">
+            <xs:element name="unregisterService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax222:CartridgeConfig"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContext">
+            <xs:element name="CloudControllerServiceUnregisteredCartridgeException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="UnregisteredCartridgeException" nillable="true" type="ax219:UnregisteredCartridgeException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContextResponse">
+            <xs:element name="getCartridgeInfo">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax222:ClusterContext"/>
+                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceUnregisteredCartridgeException">
+            <xs:element name="getCartridgeInfoResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnregisteredCartridgeException" nillable="true" type="ax220:UnregisteredCartridgeException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax221:CartridgeInfo"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeInfo">
+            <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax219:InvalidCartridgeDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeInfoResponse">
+            <xs:element name="CloudControllerServiceInvalidIaasProviderException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax222:CartridgeInfo"/>
+                        <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax219:InvalidIaasProviderException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidPartitionException">
+            <xs:element name="deployCartridgeDefinition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax220:InvalidPartitionException"/>
+                        <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax221:CartridgeConfig"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax220:InvalidCartridgeTypeException"/>
+                        <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax219:InvalidCartridgeTypeException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -161,7 +154,7 @@
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax224:Partition"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax220:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -182,21 +175,21 @@
             <xs:element name="startInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="memberContext" nillable="true" type="ax222:MemberContext"/>
+                        <xs:element minOccurs="0" name="memberContext" nillable="true" type="ax221:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="startInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax222:MemberContext"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax221:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="CloudControllerServiceInvalidMemberException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax220:InvalidMemberException"/>
+                        <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax219:InvalidMemberException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -210,7 +203,7 @@
             <xs:element name="CloudControllerServiceInvalidClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax220:InvalidClusterException"/>
+                        <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax219:InvalidClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -233,24 +226,24 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartition">
+            <xs:element name="getClusterContext">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="partition" nillable="true" type="ax224:Partition"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="validatePartitionResponse">
+            <xs:element name="getClusterContextResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax221:ClusterContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="registerService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax222:Registrant"/>
+                        <xs:element minOccurs="0" name="registrant" nillable="true" type="ax221:Registrant"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -262,22 +255,22 @@
                 </xs:complexType>
             </xs:element>
         </xs:schema>
-        <xs:schema xmlns:ax225="http://pojo.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd">
-            <xs:import namespace="http://pojo.controller.cloud.stratos.apache.org/xsd"/>
-            <xs:complexType name="Partition">
+        <xs:schema xmlns:ax225="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.controller.cloud.stratos.apache.org/xsd">
+            <xs:import namespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd"/>
+            <xs:complexType name="Properties">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
-                    <xs:element minOccurs="0" name="partitionMin" type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax222:Properties"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax221:Property"/>
                 </xs:sequence>
             </xs:complexType>
-        </xs:schema>
-        <xs:schema xmlns:ax227="http://partition.deployment.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.controller.cloud.stratos.apache.org/xsd">
-            <xs:import namespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd"/>
-            <xs:complexType name="CartridgeConfig">
+            <xs:complexType name="Property">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="value" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="CartridgeInfo">
                 <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypes" nillable="true" type="ax221:AppType"/>
                     <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="defaultAutoscalingPolicy" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="defaultDeploymentPolicy" nillable="true" type="xs:string"/>
@@ -285,66 +278,32 @@
                     <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax222:IaasConfig"/>
-                    <xs:element minOccurs="0" name="lbConfig" nillable="true" type="ax222:LoadbalancerConfig"/>
+                    <xs:element minOccurs="0" name="lbConfig" nillable="true" type="ax221:LoadbalancerConfig"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax222:Persistence"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax222:PortMapping"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax222:Properties"/>
+                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax221:Persistence"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax221:PortMapping"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax221:Property"/>
                     <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="serviceGroup" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="version" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="IaasConfig">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="className" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="credential" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="identity" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="maxInstanceLimit" type="xs:int"/>
-                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax222:NetworkInterfaces"/>
-                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:base64Binary"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax222:Properties"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="NetworkInterfaces">
-                <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax222:NetworkInterface"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="NetworkInterface">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="fixedIp" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="portUuid" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Properties">
-                <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax222:Property"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Property">
+            <xs:complexType name="AppType">
                 <xs:sequence>
+                    <xs:element minOccurs="0" name="appSpecificMapping" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="value" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="LoadbalancerConfig">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax222:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax221:Properties"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Persistence">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="persistanceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax222:Volume"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax221:Volume"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Volume">
@@ -364,21 +323,8 @@
                     <xs:element minOccurs="0" name="proxyPort" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ClusterContext">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="listOfVolumes" nillable="true" type="xs:anyType"/>
-                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="timeoutInMillis" type="xs:long"/>
-                    <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="CartridgeInfo">
+            <xs:complexType name="CartridgeConfig">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypes" nillable="true" type="ax222:AppType"/>
                     <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="defaultAutoscalingPolicy" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="defaultDeploymentPolicy" nillable="true" type="xs:string"/>
@@ -386,20 +332,43 @@
                     <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="lbConfig" nillable="true" type="ax222:LoadbalancerConfig"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax221:IaasConfig"/>
+                    <xs:element minOccurs="0" name="lbConfig" nillable="true" type="ax221:LoadbalancerConfig"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax222:Persistence"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax222:PortMapping"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax222:Property"/>
+                    <xs:element minOccurs="0" name="persistence" nillable="true" type="ax221:Persistence"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax221:PortMapping"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax221:Properties"/>
                     <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="serviceGroup" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="version" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="AppType">
+            <xs:complexType name="IaasConfig">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="appSpecificMapping" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="className" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="credential" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="identity" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="maxInstanceLimit" type="xs:int"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax221:NetworkInterfaces"/>
+                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:base64Binary"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax221:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="NetworkInterfaces">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax221:NetworkInterface"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="NetworkInterface">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="fixedIp" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="portUuid" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="MemberContext">
@@ -413,11 +382,23 @@
                     <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="nodeId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax224:Partition"/>
+                    <xs:element minOccurs="0" name="partition" nillable="true" type="ax220:Partition"/>
                     <xs:element minOccurs="0" name="privateIpAddress" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="publicIpAddress" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="ClusterContext">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="timeoutInMillis" type="xs:long"/>
+                    <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax221:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="Registrant">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
@@ -426,11 +407,23 @@
                     <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax222:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax221:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
+        <xs:schema xmlns:ax222="http://pojo.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.deployment.controller.cloud.stratos.apache.org/xsd">
+            <xs:import namespace="http://pojo.controller.cloud.stratos.apache.org/xsd"/>
+            <xs:complexType name="Partition">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
+                    <xs:element minOccurs="0" name="partitionMin" type="xs:int"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax221:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
     </wsdl:types>
     <wsdl:message name="validatePartitionRequest">
         <wsdl:part name="parameters" element="ns:validatePartition"/>
@@ -456,9 +449,6 @@
     <wsdl:message name="CloudControllerServiceInvalidMemberException">
         <wsdl:part name="parameters" element="ns:CloudControllerServiceInvalidMemberException"/>
     </wsdl:message>
-    <wsdl:message name="CloudControllerServiceIllegalArgumentException">
-        <wsdl:part name="parameters" element="ns:CloudControllerServiceIllegalArgumentException"/>
-    </wsdl:message>
     <wsdl:message name="registerServiceRequest">
         <wsdl:part name="parameters" element="ns:registerService"/>
     </wsdl:message>
@@ -532,19 +522,16 @@
             <wsdl:input message="ns:terminateInstanceRequest" wsaw:Action="urn:terminateInstance"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidMemberException" name="CloudControllerServiceInvalidMemberException" wsaw:Action="urn:terminateInstanceCloudControllerServiceInvalidMemberException"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidCartridgeTypeException" name="CloudControllerServiceInvalidCartridgeTypeException" wsaw:Action="urn:terminateInstanceCloudControllerServiceInvalidCartridgeTypeException"/>
-            <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:terminateInstanceCloudControllerServiceIllegalArgumentException"/>
         </wsdl:operation>
         <wsdl:operation name="registerService">
             <wsdl:input message="ns:registerServiceRequest" wsaw:Action="urn:registerService"/>
             <wsdl:output message="ns:registerServiceResponse" wsaw:Action="urn:registerServiceResponse"/>
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredCartridgeException" name="CloudControllerServiceUnregisteredCartridgeException" wsaw:Action="urn:registerServiceCloudControllerServiceUnregisteredCartridgeException"/>
-            <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:registerServiceCloudControllerServiceIllegalArgumentException"/>
         </wsdl:operation>
         <wsdl:operation name="deployCartridgeDefinition">
             <wsdl:input message="ns:deployCartridgeDefinitionRequest" wsaw:Action="urn:deployCartridgeDefinition"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidCartridgeDefinitionException" name="CloudControllerServiceInvalidCartridgeDefinitionException" wsaw:Action="urn:deployCartridgeDefinitionCloudControllerServiceInvalidCartridgeDefinitionException"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidIaasProviderException" name="CloudControllerServiceInvalidIaasProviderException" wsaw:Action="urn:deployCartridgeDefinitionCloudControllerServiceInvalidIaasProviderException"/>
-            <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:deployCartridgeDefinitionCloudControllerServiceIllegalArgumentException"/>
         </wsdl:operation>
         <wsdl:operation name="getCartridgeInfo">
             <wsdl:input message="ns:getCartridgeInfoRequest" wsaw:Action="urn:getCartridgeInfo"/>
@@ -561,7 +548,6 @@
         </wsdl:operation>
         <wsdl:operation name="terminateAllInstances">
             <wsdl:input message="ns:terminateAllInstancesRequest" wsaw:Action="urn:terminateAllInstances"/>
-            <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:terminateAllInstancesCloudControllerServiceIllegalArgumentException"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidClusterException" name="CloudControllerServiceInvalidClusterException" wsaw:Action="urn:terminateAllInstancesCloudControllerServiceInvalidClusterException"/>
         </wsdl:operation>
         <wsdl:operation name="getRegisteredCartridges">
@@ -571,7 +557,6 @@
         <wsdl:operation name="startInstance">
             <wsdl:input message="ns:startInstanceRequest" wsaw:Action="urn:startInstance"/>
             <wsdl:output message="ns:startInstanceResponse" wsaw:Action="urn:startInstanceResponse"/>
-            <wsdl:fault message="ns:CloudControllerServiceIllegalArgumentException" name="CloudControllerServiceIllegalArgumentException" wsaw:Action="urn:startInstanceCloudControllerServiceIllegalArgumentException"/>
             <wsdl:fault message="ns:CloudControllerServiceUnregisteredCartridgeException" name="CloudControllerServiceUnregisteredCartridgeException" wsaw:Action="urn:startInstanceCloudControllerServiceUnregisteredCartridgeException"/>
             <wsdl:fault message="ns:CloudControllerServiceInvalidIaasProviderException" name="CloudControllerServiceInvalidIaasProviderException" wsaw:Action="urn:startInstanceCloudControllerServiceInvalidIaasProviderException"/>
         </wsdl:operation>
@@ -614,9 +599,6 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceInvalidMemberException">
                 <soap:fault use="literal" name="CloudControllerServiceInvalidMemberException"/>
             </wsdl:fault>
@@ -632,9 +614,6 @@
             <wsdl:output>
                 <soap:body use="literal"/>
             </wsdl:output>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceUnregisteredCartridgeException">
                 <soap:fault use="literal" name="CloudControllerServiceUnregisteredCartridgeException"/>
             </wsdl:fault>
@@ -644,9 +623,6 @@
             <wsdl:input>
                 <soap:body use="literal"/>
             </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceInvalidCartridgeDefinitionException">
                 <soap:fault use="literal" name="CloudControllerServiceInvalidCartridgeDefinitionException"/>
             </wsdl:fault>
@@ -692,9 +668,6 @@
             <wsdl:fault name="CloudControllerServiceInvalidClusterException">
                 <soap:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
             </wsdl:fault>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="getRegisteredCartridges">
             <soap:operation soapAction="urn:getRegisteredCartridges" style="document"/>
@@ -713,9 +686,6 @@
             <wsdl:output>
                 <soap:body use="literal"/>
             </wsdl:output>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceInvalidIaasProviderException">
                 <soap:fault use="literal" name="CloudControllerServiceInvalidIaasProviderException"/>
             </wsdl:fault>
@@ -767,9 +737,6 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap12:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceInvalidMemberException">
                 <soap12:fault use="literal" name="CloudControllerServiceInvalidMemberException"/>
             </wsdl:fault>
@@ -785,9 +752,6 @@
             <wsdl:output>
                 <soap12:body use="literal"/>
             </wsdl:output>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap12:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceUnregisteredCartridgeException">
                 <soap12:fault use="literal" name="CloudControllerServiceUnregisteredCartridgeException"/>
             </wsdl:fault>
@@ -797,9 +761,6 @@
             <wsdl:input>
                 <soap12:body use="literal"/>
             </wsdl:input>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap12:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceInvalidCartridgeDefinitionException">
                 <soap12:fault use="literal" name="CloudControllerServiceInvalidCartridgeDefinitionException"/>
             </wsdl:fault>
@@ -845,9 +806,6 @@
             <wsdl:fault name="CloudControllerServiceInvalidClusterException">
                 <soap12:fault use="literal" name="CloudControllerServiceInvalidClusterException"/>
             </wsdl:fault>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap12:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="getRegisteredCartridges">
             <soap12:operation soapAction="urn:getRegisteredCartridges" style="document"/>
@@ -866,9 +824,6 @@
             <wsdl:output>
                 <soap12:body use="literal"/>
             </wsdl:output>
-            <wsdl:fault name="CloudControllerServiceIllegalArgumentException">
-                <soap12:fault use="literal" name="CloudControllerServiceIllegalArgumentException"/>
-            </wsdl:fault>
             <wsdl:fault name="CloudControllerServiceInvalidIaasProviderException">
                 <soap12:fault use="literal" name="CloudControllerServiceInvalidIaasProviderException"/>
             </wsdl:fault>