modifying deployment policy and application policy validations

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

Branch: refs/heads/tenantisolation
Commit: 3487d95f70420cc8e2b1c77bd0167bb3e30e096e
Parents: a775643
Author: Dinithi <[email protected]>
Authored: Tue Jun 30 17:07:32 2015 +0530
Committer: Dinithi <[email protected]>
Committed: Tue Jun 30 17:07:32 2015 +0530

----------------------------------------------------------------------
 .../services/impl/AutoscalerServiceImpl.java    |  46 ++--
 .../stratos/autoscaler/util/AutoscalerUtil.java |   6 +-
 .../impl/CloudControllerServiceImpl.java        |   3 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  21 +-
 .../src/main/resources/AutoscalerService.wsdl   |  85 +++---
 .../main/resources/CloudControllerService.wsdl  | 272 +++++++++----------
 6 files changed, 220 insertions(+), 213 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/3487d95f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 2b4cb12..3f3c071 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -25,13 +25,7 @@ import 
org.apache.stratos.autoscaler.algorithms.networkpartition.NetworkPartitio
 import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import org.apache.stratos.autoscaler.applications.parser.ApplicationParser;
 import 
org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser;
-import 
org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
-import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext;
-import 
org.apache.stratos.autoscaler.applications.pojo.ArtifactRepositoryContext;
-import org.apache.stratos.autoscaler.applications.pojo.CartridgeContext;
-import org.apache.stratos.autoscaler.applications.pojo.ComponentContext;
-import org.apache.stratos.autoscaler.applications.pojo.GroupContext;
-import org.apache.stratos.autoscaler.applications.pojo.SubscribableInfoContext;
+import org.apache.stratos.autoscaler.applications.pojo.*;
 import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
 import org.apache.stratos.autoscaler.client.AutoscalerCloudControllerClient;
 import org.apache.stratos.autoscaler.context.AutoscalerContext;
@@ -44,7 +38,6 @@ import org.apache.stratos.autoscaler.exception.*;
 import 
org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
 import 
org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
 import 
org.apache.stratos.autoscaler.exception.application.InvalidServiceGroupException;
-import org.apache.stratos.autoscaler.exception.CartridgeNotFoundException;
 import org.apache.stratos.autoscaler.exception.policy.*;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
@@ -894,9 +887,9 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
             log.debug("Application policy definition: " + 
applicationPolicy.toString());
         }
 
-        String applicationPolicyID = applicationPolicy.getUuid();
-        if 
(PolicyManager.getInstance().getApplicationPolicy(applicationPolicyID) != null) 
{
-            String message = "Application policy already exists: 
[application-policy-id] " + applicationPolicyID;
+        String applicationPolicyId = applicationPolicy.getUuid();
+        if 
(PolicyManager.getInstance().getApplicationPolicy(applicationPolicyId) != null) 
{
+            String message = "Application policy already exists: 
[application-policy-id] " + applicationPolicyId;
             log.error(message);
             throw new ApplicationPolicyAlreadyExistsException(message);
         }
@@ -1048,9 +1041,9 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
             log.debug("Deployment policy definition: " + 
deploymentPolicy.toString());
         }
 
-        String deploymentPolicyID = deploymentPolicy.getUuid();
-        if 
(PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID) != null) {
-            String message = "Deployment policy already exists: 
[deployment-policy-id] " + deploymentPolicyID;
+        String deploymentPolicyId = deploymentPolicy.getUuid();
+        if 
(PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId) != null) {
+            String message = "Deployment policy already exists: 
[deployment-policy-id] " + deploymentPolicyId;
             log.error(message);
             throw new DeploymentPolicyAlreadyExistsException(message);
         }
@@ -1058,7 +1051,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         PolicyManager.getInstance().addDeploymentPolicy(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info("Successfully added deployment policy: 
[deployment-policy-id] " + deploymentPolicyID);
+            log.info("Successfully added deployment policy: 
[deployment-policy-id] " + deploymentPolicyId);
         }
         return true;
     }
@@ -1078,7 +1071,8 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         }
 
         // deployment policy id can't be null or empty
-        String deploymentPolicyId = deploymentPolicy.getUuid();
+        String deploymentPolicyUuid = deploymentPolicy.getUuid();
+        String deploymentPolicyId = deploymentPolicy.getId();
         if (StringUtils.isBlank(deploymentPolicyId)) {
             String msg = String.format("Deployment policy id is blank");
             log.error(msg);
@@ -1088,7 +1082,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         // deployment policy should contain at least one network partition 
reference
         if (null == deploymentPolicy.getNetworkPartitionRefs() || 
deploymentPolicy.getNetworkPartitionRefs().length == 0) {
             String msg = String.format("Deployment policy does not have any 
network partition references: " +
-                    "[deployment-policy-id] %s", deploymentPolicyId);
+                    "[deployment-policy-uuid] %s [deployment-policy-id] %s", 
deploymentPolicyUuid, deploymentPolicyId);
             log.error(msg);
             throw new InvalidDeploymentPolicyException(msg);
         }
@@ -1098,8 +1092,8 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
             // network partition id can't be null or empty
             String networkPartitionId = networkPartitionRef.getId();
             if (StringUtils.isBlank(networkPartitionId)) {
-                String msg = String.format("Network partition id is blank: 
[deployment-policy-id] %s",
-                        deploymentPolicyId);
+                String msg = String.format("Network partition id is blank: 
[deployment-policy-uuid] %s " +
+                                "[deployment-policy-id] %s", 
deploymentPolicyUuid, deploymentPolicyId);
                 log.error(msg);
                 throw new InvalidDeploymentPolicyException(msg);
             }
@@ -1107,9 +1101,11 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
             // network partitions should be already added
             NetworkPartition networkPartition = 
CloudControllerServiceClient.getInstance()
                     .getNetworkPartition(networkPartitionId);
-            if (networkPartition == null) {
-                String msg = String.format("Network partition is not found: 
[deployment-policy-id] %s " +
-                        "[network-partition-id] %s", deploymentPolicyId, 
networkPartitionId);
+
+            if (networkPartition == null || (deploymentPolicy.getTenantId() != 
networkPartition.getTenantId())) {
+                String msg = String.format("Network partition is not found: 
[deployment-policy-uuid] %s " +
+                        "[deployment-policy-id] %s [network-partition-id] %s", 
deploymentPolicyUuid,
+                        deploymentPolicyId, networkPartitionId);
                 log.error(msg);
                 throw new InvalidDeploymentPolicyException(msg);
             }
@@ -1320,11 +1316,11 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
     }
 
     @Override
-    public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyID) {
+    public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId) {
         if (log.isDebugEnabled()) {
-            log.debug("Getting deployment policy: [deployment-policy_id] " + 
deploymentPolicyID);
+            log.debug("Getting deployment policy: [deployment-policy_id] " + 
deploymentPolicyId);
         }
-        return 
PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID);
+        return 
PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/stratos/blob/3487d95f/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index c126aad..40d9a95 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -50,6 +50,7 @@ import 
org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
 import org.apache.stratos.autoscaler.pojo.policy.deployment.ApplicationPolicy;
 import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
 import org.apache.stratos.autoscaler.registry.RegistryManager;
+import org.apache.stratos.cloud.controller.stub.domain.NetworkPartition;
 import org.apache.stratos.common.Properties;
 import org.apache.stratos.common.Property;
 import org.apache.stratos.common.client.CloudControllerServiceClient;
@@ -658,8 +659,9 @@ public class AutoscalerUtil {
             }
 
             // network partitions should be added already
-            if (null == CloudControllerServiceClient.getInstance().
-                    getNetworkPartition(networkPartitionId)) {
+            NetworkPartition networkPartition = 
CloudControllerServiceClient.getInstance()
+                    .getNetworkPartition(networkPartitionId);
+            if (null == networkPartition || (applicationPolicy.getTenantId() 
!= networkPartition.getTenantId())) {
                 String msg = String.format("Network partition not found: 
[network-partition-id]  %s in " +
                         "[application-policy-id] %s", networkPartitionId, 
applicationPolicy.getUuid());
                 log.error(msg);

http://git-wip-us.apache.org/repos/asf/stratos/blob/3487d95f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 105f222..17a523b 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -1456,7 +1456,8 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
         handleNullObject(networkPartition.getUuid(), "Network Partition ID is 
null");
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Adding network partition: 
[network-partition-id] %s", networkPartition.getUuid()));
+            log.info(String.format("Adding network partition: 
[network-partition-uuid] %s",
+                    networkPartition.getUuid()));
         }
 
         String networkPartitionUuid = networkPartition.getUuid();

http://git-wip-us.apache.org/repos/asf/stratos/blob/3487d95f/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 12860b0..817a9de 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -2866,8 +2866,21 @@ public class StratosApiV41Utils {
     public static NetworkPartitionBean getNetworkPartition(String 
networkPartitionId) throws RestAPIException {
         try {
             CloudControllerServiceClient serviceClient = 
CloudControllerServiceClient.getInstance();
-            org.apache.stratos.cloud.controller.stub.domain.NetworkPartition 
networkPartition =
-                    serviceClient.getNetworkPartition(networkPartitionId);
+            org.apache.stratos.cloud.controller.stub.domain.NetworkPartition[] 
networkPartitions =
+                    serviceClient.getNetworkPartitions();
+
+            NetworkPartition networkPartition = null;
+            PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            for (NetworkPartition networkPartition1 : networkPartitions) {
+                if (carbonContext.getTenantId() == 
networkPartition1.getTenantId()) {
+                    if (networkPartition1.getId().equals(networkPartitionId)) {
+                        networkPartition = networkPartition1;
+                    }
+                }
+            }
+            if (networkPartition == null) {
+                return null;
+            }
             return 
ObjectConverter.convertCCStubNetworkPartitionToNetworkPartition(networkPartition);
         } catch (RemoteException e) {
             String message = e.getMessage();
@@ -2945,17 +2958,13 @@ public class StratosApiV41Utils {
 
             DeploymentPolicy deploymentPolicy = null;
             PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
-           // List<DeploymentPolicy> deploymentPoliciesForTenant = new 
ArrayList<DeploymentPolicy>();
             for (DeploymentPolicy deploymentPolicy1 : deploymentPolicies) {
                 if (carbonContext.getTenantId() == 
deploymentPolicy1.getTenantId()) {
-                    //deploymentPoliciesForTenant.add(deploymentPolicy1);
                     if (deploymentPolicy1.getId().equals(deploymentPolicyId)) {
                         deploymentPolicy = deploymentPolicy1;
                     }
                 }
             }
-            
//org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy 
deploymentPolicy
-            //       = 
AutoscalerServiceClient.getInstance().getDeploymentPolicy(deploymentPolicyID);
             if (deploymentPolicy == null) {
                 return null;
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/3487d95f/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
----------------------------------------------------------------------
diff --git 
a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
 
b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
index 720b198..78aeb74 100644
--- 
a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
+++ 
b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ax29="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ns="http://impl.services.autoscaler.stratos.apache.org"; 
xmlns:ax27="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax23="http://common.stratos.apache.org/xsd"; 
xmlns:ax21="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ax22="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax219="http://io.java/xsd"; xmlns:ax218="http://rmi.java/xsd"; 
xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ax215="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax222="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax213="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:ax211="http://application.exception.au
 toscaler.stratos.apache.org/xsd" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
targetNamespace="http://impl.services.autoscaler.stratos.apache.org";>
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ax29="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ns="http://impl.services.autoscaler.stratos.apache.org"; 
xmlns:ax25="http://common.stratos.apache.org/xsd"; 
xmlns:ax23="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax24="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax21="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:ax219="http://io.java/xsd"; 
xmlns:ax218="http://rmi.java/xsd"; xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ax215="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax222="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax213="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:ax211="http://application.exception.au
 toscaler.stratos.apache.org/xsd" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
targetNamespace="http://impl.services.autoscaler.stratos.apache.org";>
     <wsdl:types>
         <xs:schema xmlns:ax220="http://io.java/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://rmi.java/xsd";>
             <xs:import namespace="http://io.java/xsd"/>
@@ -21,7 +21,7 @@
                     <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="instanceRoundingFactor" 
type="xs:float"/>
                     <xs:element minOccurs="0" name="isPublic" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="loadThresholds" 
nillable="true" type="ax27:LoadThresholds"/>
+                    <xs:element minOccurs="0" name="loadThresholds" 
nillable="true" type="ax29:LoadThresholds"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
@@ -44,7 +44,7 @@
                     <xs:element minOccurs="0" name="description" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="multiTenant" 
type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
                     <xs:element minOccurs="0" name="status" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantAdminUsername" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantDomain" 
nillable="true" type="xs:string"/>
@@ -68,7 +68,7 @@
                     <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="persistenceContext" 
nillable="true" type="ax215:PersistenceContext"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="textPayload" 
nillable="true" type="xs:string"/>
                 </xs:sequence>
@@ -109,7 +109,7 @@
                     <xs:element minOccurs="0" name="maxMembers" type="xs:int"/>
                     <xs:element minOccurs="0" name="minMembers" type="xs:int"/>
                     <xs:element minOccurs="0" name="persistenceContext" 
nillable="true" type="ax215:PersistenceContext"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ArtifactRepositoryContext">
@@ -144,8 +144,8 @@
             <xs:complexType name="ServiceGroup">
                 <xs:sequence>
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="cartridges" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="dependencies" 
nillable="true" type="ax29:Dependencies"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groups" nillable="true" type="ax29:ServiceGroup"/>
+                    <xs:element minOccurs="0" name="dependencies" 
nillable="true" type="ax21:Dependencies"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groups" nillable="true" type="ax21:ServiceGroup"/>
                     <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -157,55 +157,55 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema 
xmlns:ax28="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax26="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax217="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax214="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax221="http://rmi.java/xsd"; 
xmlns:ax212="http://application.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax223="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax210="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax226="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://impl.services.autoscaler.stratos.apache.org";>
+        <xs:schema 
xmlns:ax28="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax217="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax22="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax214="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax221="http://rmi.java/xsd"; 
xmlns:ax212="http://application.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax223="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax210="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax226="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://impl.services.autoscaler.stratos.apache.org";>
+            <xs:import 
namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import 
namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://rmi.java/xsd"/>
             <xs:import 
namespace="http://policy.exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:element name="getDeploymentPolicy">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicyID" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicyResponse">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax21:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicy">
+            <xs:element name="getDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalingPolicyId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="deploymentPolicyID" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicyResponse">
+            <xs:element name="getDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax27:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax28:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="getAutoscalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                        <xs:element minOccurs="0" name="autoscalingPolicyId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="getAutoscalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax29:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax29:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -337,7 +337,7 @@
             <xs:element name="addApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax28:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -358,7 +358,7 @@
             <xs:element name="getApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax28:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -370,7 +370,7 @@
             <xs:element name="getApplicationPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax28:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -384,7 +384,7 @@
             <xs:element name="updateApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax26:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax28:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -481,7 +481,7 @@
             <xs:element name="getServiceGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax29:ServiceGroup"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax21:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -495,7 +495,7 @@
             <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" 
nillable="true" type="ax29:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="servicegroup" 
nillable="true" type="ax21:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -509,7 +509,7 @@
             <xs:element name="updateServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroup" 
nillable="true" type="ax29:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="cartridgeGroup" 
nillable="true" type="ax21:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -545,7 +545,7 @@
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
+                        <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -595,7 +595,7 @@
             <xs:element name="updateDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax28:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -614,7 +614,7 @@
             <xs:element name="getDeploymentPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax28:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -626,7 +626,7 @@
             <xs:element name="getAutoScalingPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax27:AutoscalePolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax29:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -640,7 +640,7 @@
             <xs:element name="addAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax27:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax29:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -654,7 +654,7 @@
             <xs:element name="updateAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax27:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax29:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -696,7 +696,7 @@
             <xs:element name="addDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax26:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax28:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -750,13 +750,13 @@
                 </xs:complexType>
             </xs:element>
         </xs:schema>
-        <xs:schema xmlns:ax25="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax224="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd";>
+        <xs:schema xmlns:ax27="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax224="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd";>
             <xs:import 
namespace="http://partition.common.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="DeploymentPolicy">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="networkPartitionRefs" nillable="true" type="ax25:NetworkPartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="networkPartitionRefs" nillable="true" type="ax27:NetworkPartitionRef"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
@@ -767,19 +767,20 @@
                     <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="networkPartitionGroups" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="networkPartitions" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                     <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax24="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://partition.common.stratos.apache.org/xsd";>
+        <xs:schema xmlns:ax26="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://partition.common.stratos.apache.org/xsd";>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="NetworkPartitionRef">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionAlgo" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="partitionRefs" nillable="true" type="ax22:PartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="partitionRefs" nillable="true" type="ax24:PartitionRef"/>
+                    <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="PartitionRef">
@@ -788,7 +789,7 @@
                     <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionMax" 
type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
@@ -812,7 +813,7 @@
         <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://common.stratos.apache.org/xsd";>
             <xs:complexType name="Properties">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="properties" nillable="true" type="ax23:Property"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="properties" nillable="true" type="ax25:Property"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Property">

http://git-wip-us.apache.org/repos/asf/stratos/blob/3487d95f/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 27488a5..e273689 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
@@ -5,27 +5,6 @@
             <xs:import 
namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://topology.domain.messaging.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
-            <xs:element name="CloudControllerServiceInvalidPartitionException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidPartitionException" nillable="true" 
type="ax21:InvalidPartitionException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="validatePartition">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="partition" 
nillable="true" type="ax26:Partition"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="validatePartitionResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element 
name="CloudControllerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
@@ -99,53 +78,24 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="registerService">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="registrant" 
nillable="true" type="ax26:Registrant"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="registerServiceResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getNetworkPartitions">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getNetworkPartitionsResponse">
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:NetworkPartition"/>
+                        <xs:element minOccurs="0" 
name="InvalidPartitionException" nillable="true" 
type="ax21:InvalidPartitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getIaasProviders">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getIaasProvidersResponse">
+            <xs:element name="validatePartition">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="partition" 
nillable="true" type="ax26:Partition"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridges">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getCartridgesResponse">
+            <xs:element name="validatePartitionResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -547,6 +497,56 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="registerService">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="registrant" 
nillable="true" type="ax26:Registrant"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="registerServiceResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getNetworkPartitions">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getNetworkPartitionsResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:NetworkPartition"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getIaasProviders">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getIaasProvidersResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridges">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridgesResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="getKubernetesClusters">
                 <xs:complexType>
                     <xs:sequence/>
@@ -776,11 +776,6 @@
             </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://exception.controller.cloud.stratos.apache.org/xsd";>
-            <xs:complexType name="InvalidPartitionException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="CartridgeNotFoundException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
@@ -803,6 +798,11 @@
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <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:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
@@ -948,17 +948,6 @@
         <xs:schema xmlns:ax28="http://domain.common.stratos.apache.org/xsd"; 
xmlns:ax25="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd";>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:import 
namespace="http://domain.common.stratos.apache.org/xsd"/>
-            <xs:complexType name="Partition">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="description" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="isPublic" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="partitionMax" 
type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="InstanceContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
@@ -973,6 +962,17 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="Partition">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="description" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="isPublic" 
type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="partitionMax" 
type="xs:int"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="Volume">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="device" nillable="true" 
type="xs:string"/>
@@ -1026,37 +1026,6 @@
                     <xs:element minOccurs="0" name="ram" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="Registrant">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="autoScalerPolicyName" 
nillable="true" type="xs:string"/>
-                    <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="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="persistence" 
nillable="true" type="ax23:Persistence"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="tenantRange" 
nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="Persistence">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="persistenceRequired" 
type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="NetworkPartition">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="activeByDefault" 
type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="partitionAlgo" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="partitions" nillable="true" type="ax23:Partition"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <xs:element minOccurs="0" name="provider" nillable="true" 
type="xs:string"/>
-                    <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
-                    <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="Cartridge">
                 <xs:sequence>
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="appTypeMappings" nillable="true" type="ax23:AppType"/>
@@ -1126,10 +1095,14 @@
                     <xs:element minOccurs="0" name="networkUuid" 
nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="Persistence">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="persistenceRequired" 
type="xs:boolean"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="PortMapping">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="kubernetesServicePort" 
type="xs:int"/>
-                    <xs:element minOccurs="0" 
name="kubernetesServicePortMapping" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="port" type="xs:int"/>
                     <xs:element minOccurs="0" name="protocol" nillable="true" 
type="xs:string"/>
@@ -1166,6 +1139,31 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax23:Volume"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="NetworkPartition">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="activeByDefault" 
type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="partitionAlgo" 
nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="partitions" nillable="true" type="ax23:Partition"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="provider" nillable="true" 
type="xs:string"/>
+                    <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
+                    <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="Registrant">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="autoScalerPolicyName" 
nillable="true" type="xs:string"/>
+                    <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="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="persistence" 
nillable="true" type="ax23:Persistence"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
+                    <xs:element minOccurs="0" name="tenantRange" 
nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="autoscalePolicyName" 
nillable="true" type="xs:string"/>
@@ -1487,6 +1485,12 @@
     <wsdl:message name="removeCartridgeResponse">
         <wsdl:part name="parameters" element="ns:removeCartridgeResponse"/>
     </wsdl:message>
+    <wsdl:message name="getNetworkPartitionsRequest">
+        <wsdl:part name="parameters" element="ns:getNetworkPartitions"/>
+    </wsdl:message>
+    <wsdl:message name="getNetworkPartitionsResponse">
+        <wsdl:part name="parameters" 
element="ns:getNetworkPartitionsResponse"/>
+    </wsdl:message>
     <wsdl:message name="addCartridgeRequest">
         <wsdl:part name="parameters" element="ns:addCartridge"/>
     </wsdl:message>
@@ -1496,12 +1500,6 @@
     <wsdl:message name="CloudControllerServiceCartridgeAlreadyExistsException">
         <wsdl:part name="parameters" 
element="ns:CloudControllerServiceCartridgeAlreadyExistsException"/>
     </wsdl:message>
-    <wsdl:message name="getNetworkPartitionsRequest">
-        <wsdl:part name="parameters" element="ns:getNetworkPartitions"/>
-    </wsdl:message>
-    <wsdl:message name="getNetworkPartitionsResponse">
-        <wsdl:part name="parameters" 
element="ns:getNetworkPartitionsResponse"/>
-    </wsdl:message>
     <wsdl:portType name="CloudControllerServicePortType">
         <wsdl:operation name="getCartridges">
             <wsdl:input message="ns:getCartridgesRequest" 
wsaw:Action="urn:getCartridges"/>
@@ -1705,6 +1703,10 @@
             <wsdl:output message="ns:removeCartridgeResponse" 
wsaw:Action="urn:removeCartridgeResponse"/>
             <wsdl:fault 
message="ns:CloudControllerServiceInvalidCartridgeTypeException" 
name="CloudControllerServiceInvalidCartridgeTypeException" 
wsaw:Action="urn:removeCartridgeCloudControllerServiceInvalidCartridgeTypeException"/>
         </wsdl:operation>
+        <wsdl:operation name="getNetworkPartitions">
+            <wsdl:input message="ns:getNetworkPartitionsRequest" 
wsaw:Action="urn:getNetworkPartitions"/>
+            <wsdl:output message="ns:getNetworkPartitionsResponse" 
wsaw:Action="urn:getNetworkPartitionsResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="addCartridge">
             <wsdl:input message="ns:addCartridgeRequest" 
wsaw:Action="urn:addCartridge"/>
             <wsdl:output message="ns:addCartridgeResponse" 
wsaw:Action="urn:addCartridgeResponse"/>
@@ -1712,10 +1714,6 @@
             <wsdl:fault 
message="ns:CloudControllerServiceInvalidIaasProviderException" 
name="CloudControllerServiceInvalidIaasProviderException" 
wsaw:Action="urn:addCartridgeCloudControllerServiceInvalidIaasProviderException"/>
             <wsdl:fault 
message="ns:CloudControllerServiceCartridgeAlreadyExistsException" 
name="CloudControllerServiceCartridgeAlreadyExistsException" 
wsaw:Action="urn:addCartridgeCloudControllerServiceCartridgeAlreadyExistsException"/>
         </wsdl:operation>
-        <wsdl:operation name="getNetworkPartitions">
-            <wsdl:input message="ns:getNetworkPartitionsRequest" 
wsaw:Action="urn:getNetworkPartitions"/>
-            <wsdl:output message="ns:getNetworkPartitionsResponse" 
wsaw:Action="urn:getNetworkPartitionsResponse"/>
-        </wsdl:operation>
     </wsdl:portType>
     <wsdl:binding name="CloudControllerServiceSoap11Binding" 
type="ns:CloudControllerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
@@ -2208,15 +2206,6 @@
                 <soap:fault use="literal" 
name="CloudControllerServiceInvalidCartridgeTypeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getNetworkPartitions">
-            <soap:operation soapAction="urn:getNetworkPartitions" 
style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="addCartridge">
             <soap:operation soapAction="urn:addCartridge" style="document"/>
             <wsdl:input>
@@ -2235,6 +2224,15 @@
                 <soap:fault use="literal" 
name="CloudControllerServiceCartridgeAlreadyExistsException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getNetworkPartitions">
+            <soap:operation soapAction="urn:getNetworkPartitions" 
style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
     </wsdl:binding>
     <wsdl:binding name="CloudControllerServiceSoap12Binding" 
type="ns:CloudControllerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
@@ -2727,15 +2725,6 @@
                 <soap12:fault use="literal" 
name="CloudControllerServiceInvalidCartridgeTypeException"/>
             </wsdl:fault>
         </wsdl:operation>
-        <wsdl:operation name="getNetworkPartitions">
-            <soap12:operation soapAction="urn:getNetworkPartitions" 
style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="addCartridge">
             <soap12:operation soapAction="urn:addCartridge" style="document"/>
             <wsdl:input>
@@ -2754,6 +2743,15 @@
                 <soap12:fault use="literal" 
name="CloudControllerServiceCartridgeAlreadyExistsException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getNetworkPartitions">
+            <soap12:operation soapAction="urn:getNetworkPartitions" 
style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
     </wsdl:binding>
     <wsdl:binding name="CloudControllerServiceHttpBinding" 
type="ns:CloudControllerServicePortType">
         <http:binding verb="POST"/>
@@ -3108,8 +3106,8 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="getNetworkPartitions">
-            <http:operation location="getNetworkPartitions"/>
+        <wsdl:operation name="addCartridge">
+            <http:operation location="addCartridge"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>
@@ -3117,8 +3115,8 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="addCartridge">
-            <http:operation location="addCartridge"/>
+        <wsdl:operation name="getNetworkPartitions">
+            <http:operation location="getNetworkPartitions"/>
             <wsdl:input>
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:input>

Reply via email to