Repository: stratos
Updated Branches:
  refs/heads/tenant-isolation 5dcac9257 -> 1958abd87


Refactor partition with uuid


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

Branch: refs/heads/tenant-isolation
Commit: eb8cfe23d8cdd730ac095dd18cec6fc1a04985d5
Parents: 5dcac92
Author: Gayan Gunarathne <[email protected]>
Authored: Tue Jul 28 15:16:01 2015 +0530
Committer: Gayan Gunarathne <[email protected]>
Committed: Tue Jul 28 15:16:01 2015 +0530

----------------------------------------------------------------------
 .../controller/domain/NetworkPartition.java     |   2 +-
 .../cloud/controller/domain/Partition.java      |  36 +-
 .../CloudStackPartitionValidator.java           |   2 +-
 .../iaases/ec2/EC2PartitionValidator.java       |   4 +-
 .../iaases/kubernetes/KubernetesIaas.java       |   4 +-
 .../KubernetesPartitionValidator.java           |   4 +-
 .../cloud/controller/iaases/mock/MockIaas.java  |   2 +-
 .../openstack/OpenstackPartitionValidator.java  |   4 +-
 .../publisher/TopologyEventPublisher.java       |   8 +-
 .../messaging/topology/TopologyBuilder.java     |   4 +-
 .../impl/CloudControllerServiceImpl.java        |  22 +-
 .../impl/CloudControllerServiceUtil.java        |   4 +-
 .../services/impl/InstanceCreator.java          |   2 +-
 .../controller/util/CloudControllerUtil.java    |   2 +-
 .../util/converter/ObjectConverter.java         |   2 +
 .../main/resources/CloudControllerService.wsdl  | 376 ++++++++++---------
 16 files changed, 250 insertions(+), 228 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
index 8ac69f4..4dce3aa 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
@@ -105,7 +105,7 @@ public class NetworkPartition implements Serializable {
 
     public Partition getPartition(String partitionId) {
         for (Partition partition : partitions) {
-            if (partition.getId().equals(partitionId)) {
+            if (partition.getUuid().equals(partitionId)) {
                 return partition;
             }
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
index fc0e0af..2f23ce4 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
@@ -36,11 +36,13 @@ public class Partition implements Serializable {
      * provider should match with an IaasProvider type.
      */
     private String provider;
-    private String id;
+    private String uuid;
+       private String id;
     private String description;
     private boolean isPublic;
     private Properties properties = new Properties();
     private int partitionMax;
+       private int tenantId;
 
     /**
      * Gets the value of the id property.
@@ -48,18 +50,18 @@ public class Partition implements Serializable {
      * @return possible object is
      * {@link String }
      */
-    public String getId() {
-        return id;
+    public String getUuid() {
+        return uuid;
     }
 
     /**
      * Sets the value of the id property.
      *
-     * @param id allowed object is
+     * @param uuid allowed object is
      *           {@link String }
      */
-    public void setId(String id) {
-        this.id = id;
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
     }
 
     /**
@@ -126,13 +128,13 @@ public class Partition implements Serializable {
 
     @Override
     public String toString() {
-        return "Partition [id=" + id + ", description=" + description + ", 
isPublic=" + isPublic
+        return "Partition [id=" + uuid + ", description=" + description + ", 
isPublic=" + isPublic
                 + ", provider=" + provider + ", properties=" + properties + 
"]";
     }
 
     public boolean equals(Object obj) {
         if (obj != null && obj instanceof Partition) {
-            return this.id.equals(((Partition) obj).getId());
+            return this.uuid.equals(((Partition) obj).getUuid());
         }
         return false;
 
@@ -140,7 +142,7 @@ public class Partition implements Serializable {
 
     @Override
     public int hashCode() {
-        return this.id.hashCode();
+        return this.uuid.hashCode();
     }
 
     public int getPartitionMax() {
@@ -150,4 +152,20 @@ public class Partition implements Serializable {
     public void setPartitionMax(int partitionMax) {
         this.partitionMax = partitionMax;
     }
+
+       public int getTenantId() {
+               return tenantId;
+       }
+
+       public void setTenantId(int tenantId) {
+               this.tenantId = tenantId;
+       }
+
+       public String getId() {
+               return id;
+       }
+
+       public void setId(String id) {
+               this.id = id;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java
index e487f6d..d2ef986 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java
@@ -63,7 +63,7 @@ public class CloudStackPartitionValidator implements 
PartitionValidator {
             }
 
         } catch (Exception e) {
-            String msg = "Invalid partition detected: [partition-id] " + 
partition.getId() + e.getMessage();
+            String msg = "Invalid partition detected: [partition-id] " + 
partition.getUuid() + e.getMessage();
             log.error(msg, e);
             throw new InvalidPartitionException(msg, e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java
index 03f57df..8b29307 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java
@@ -51,7 +51,7 @@ public class EC2PartitionValidator implements 
PartitionValidator {
 
                 if (iaasProvider.getImage() != null && 
!iaasProvider.getImage().contains(region)) {
 
-                    String message = "Invalid partition detected, invalid 
region: [partition-id] " + partition.getId() +
+                    String message = "Invalid partition detected, invalid 
region: [partition-id] " + partition.getUuid() +
                             " [region] " + region;
                     log.error(message);
                     throw new InvalidPartitionException(message);
@@ -79,7 +79,7 @@ public class EC2PartitionValidator implements 
PartitionValidator {
                 return iaasProvider;
             }
         } catch (Exception ex) {
-            String message = "Invalid partition detected: [partition-id] " + 
partition.getId();
+            String message = "Invalid partition detected: [partition-id] " + 
partition.getUuid();
             log.error(message, ex);
             throw new InvalidPartitionException(message, ex);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
index d2fcaba..387d67d 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
@@ -394,9 +394,9 @@ public class KubernetesIaas extends Iaas {
             memory = Integer.parseInt(memoryProperty.getValue());
         }
 
-        IaasProvider iaasProvider = 
CloudControllerContext.getInstance().getIaasProviderOfPartition(cartridge.getType(),
 partition.getId());
+        IaasProvider iaasProvider = 
CloudControllerContext.getInstance().getIaasProviderOfPartition(cartridge.getType(),
 partition.getUuid());
         if (iaasProvider == null) {
-            String message = "Could not find iaas provider: [partition] " + 
partition.getId();
+            String message = "Could not find iaas provider: [partition] " + 
partition.getUuid();
             log.error(message);
             throw new RuntimeException(message);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java
index 8eedc88..609f237 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java
@@ -56,7 +56,7 @@ public class KubernetesPartitionValidator implements 
PartitionValidator {
 
         String kubernetesClusterId = partition.getKubernetesClusterId();
         if (StringUtils.isBlank(kubernetesClusterId)) {
-            String message = "Kubernetes cluster not defined in partition: 
[partition-id] " + partition.getId();
+            String message = "Kubernetes cluster not defined in partition: 
[partition-id] " + partition.getUuid();
             log.error(message);
             throw new InvalidPartitionException(message);
         }
@@ -65,7 +65,7 @@ public class KubernetesPartitionValidator implements 
PartitionValidator {
             
CloudControllerContext.getInstance().getKubernetesCluster(kubernetesClusterId);
             return iaasProvider;
         } catch (NonExistingKubernetesClusterException e) {
-            String message = "Kubernetes partition is not valid: 
[partition-id] " + partition.getId();
+            String message = "Kubernetes partition is not valid: 
[partition-id] " + partition.getUuid();
             log.error(message, e);
             throw new InvalidPartitionException(message, e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java
index fb92d27..d58bb6f 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java
@@ -62,7 +62,7 @@ public class MockIaas extends Iaas {
                 memberContext.getMemberId(),
                 memberContext.getClusterInstanceId(),
                 memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getId()
+                memberContext.getPartition().getUuid()
         );
         setDynamicPayload(payload);
         MockInstanceMetadata mockInstanceMetadata = 
apiClient.startInstance(mockInstanceContext);

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java
index 24f8e01..d6bf9cb 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java
@@ -52,7 +52,7 @@ public class OpenstackPartitionValidator implements 
PartitionValidator {
 
                 if (iaasProvider.getImage() != null && 
!iaasProvider.getImage().contains(region)) {
 
-                    String msg = "Invalid partition detected, invalid region: 
[partition-id] " + partition.getId() +
+                    String msg = "Invalid partition detected, invalid region: 
[partition-id] " + partition.getUuid() +
                             " [region] " + region;
                     log.error(msg);
                     throw new InvalidPartitionException(msg);
@@ -80,7 +80,7 @@ public class OpenstackPartitionValidator implements 
PartitionValidator {
                 return iaasProvider;
             }
         } catch (Exception e) {
-            String msg = "Invalid partition detected: [partition-id] " + 
partition.getId() + e.getMessage();
+            String msg = "Invalid partition detected: [partition-id] " + 
partition.getUuid() + e.getMessage();
             log.error(msg, e);
             throw new InvalidPartitionException(msg, e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java
index 63c8ab2..3bb9ab5 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java
@@ -146,7 +146,7 @@ public class TopologyEventPublisher {
                 memberContext.getClusterInstanceId(),
                 memberContext.getMemberId(),
                 memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getId(),
+                memberContext.getPartition().getUuid(),
                 memberContext.getLoadBalancingIPType(),
                 memberContext.getInitTime());
 
@@ -158,7 +158,7 @@ public class TopologyEventPublisher {
                         "[partition-id] %s [lb-cluster-id] %s",
                 memberContext.getCartridgeType(), 
memberContext.getClusterId(), memberContext.getClusterInstanceId(),
                 memberContext.getMemberId(), 
memberContext.getClusterInstanceId(), memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getId(), 
memberContext.getLbClusterId()));
+                memberContext.getPartition().getUuid(), 
memberContext.getLbClusterId()));
         publishEvent(memberCreatedEvent);
     }
 
@@ -171,7 +171,7 @@ public class TopologyEventPublisher {
                 memberContext.getClusterInstanceId(),
                 memberContext.getMemberId(),
                 memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getId());
+                memberContext.getPartition().getUuid());
 
         
memberInitializedEvent.setDefaultPrivateIP(memberContext.getDefaultPrivateIP());
         if (memberContext.getPrivateIPs() != null) {
@@ -189,7 +189,7 @@ public class TopologyEventPublisher {
                         "[partition-id] %s [lb-cluster-id] %s",
                 memberContext.getCartridgeType(), 
memberContext.getClusterId(), memberContext.getClusterInstanceId(),
                 memberContext.getMemberId(), memberContext.getInstanceId(), 
memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getId(), 
memberContext.getLbClusterId()));
+                memberContext.getPartition().getUuid(), 
memberContext.getLbClusterId()));
         publishEvent(memberInitializedEvent);
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index f88222c..bf23c48 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -403,7 +403,7 @@ public class TopologyBuilder {
         String memberId = memberContext.getMemberId();
         String clusterInstanceId = memberContext.getClusterInstanceId();
         String networkPartitionId = memberContext.getNetworkPartitionId();
-        String partitionId = memberContext.getPartition().getId();
+        String partitionId = memberContext.getPartition().getUuid();
         String lbClusterId = memberContext.getLbClusterId();
         long initTime = memberContext.getInitTime();
 
@@ -483,7 +483,7 @@ public class TopologyBuilder {
                 
TopologyEventPublisher.sendMemberInitializedEvent(memberContext);
                 //publishing data
                 BAMUsageDataPublisher.publish(memberContext.getMemberId(),
-                        memberContext.getPartition().getId(),
+                        memberContext.getPartition().getUuid(),
                         memberContext.getNetworkPartitionId(),
                         memberContext.getClusterId(),
                         memberContext.getCartridgeType(),

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/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 2d858f3..45d52dc 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
@@ -358,7 +358,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             handleNullObject(partition, "Could not start instance, partition 
is null");
 
             // Validate cluster
-            String partitionId = partition.getId();
+            String partitionId = partition.getUuid();
             String clusterId = instanceContext.getClusterId();
             ClusterContext clusterContext = 
CloudControllerContext.getInstance().getClusterContext(clusterId);
             handleNullObject(clusterContext, "Could not start instance, 
cluster context not found: [cluster-id] " + clusterId);
@@ -492,7 +492,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
         
memberContext.setClusterInstanceId(instanceContext.getClusterInstanceId());
         
memberContext.setNetworkPartitionId(instanceContext.getNetworkPartitionId());
         
memberContext.setPartition(cloudControllerContext.getNetworkPartition(instanceContext.getNetworkPartitionId()).
-                getPartition(instanceContext.getPartition().getId()));
+                getPartition(instanceContext.getPartition().getUuid()));
         memberContext.setInitTime(instanceContext.getInitTime());
         memberContext.setProperties(instanceContext.getProperties());
         memberContext.setLoadBalancingIPType(loadBalancingIPType);
@@ -989,19 +989,19 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
 
             Map<String, Future<IaasProvider>> jobList = new HashMap<String, 
Future<IaasProvider>>();
             for (Partition partition : networkPartition.getPartitions()) {
-                if (validatedPartitions != null && 
validatedPartitions.contains(partition.getId())) {
+                if (validatedPartitions != null && 
validatedPartitions.contains(partition.getUuid())) {
                     // partition cache hit
                     String provider = partition.getProvider();
                     IaasProvider iaasProvider = 
CloudControllerContext.getInstance()
                             .getIaasProvider(cartridge.getUuid(), provider);
-                    partitionToIaasProviders.put(partition.getId(), 
iaasProvider);
+                    partitionToIaasProviders.put(partition.getUuid(), 
iaasProvider);
                     continue;
                 }
 
                 Callable<IaasProvider> worker = new 
PartitionValidatorCallable(partition, cartridge);
                 Future<IaasProvider> job = CloudControllerContext.getInstance()
                         .getExecutorService().submit(worker);
-                jobList.put(partition.getId(), job);
+                jobList.put(partition.getUuid(), job);
             }
 
             // Retrieve the results of the concurrently performed sanity 
checks.
@@ -1063,7 +1063,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
         handleNullObject(partition, "Partition validation failed. Partition is 
null.");
 
         String provider = partition.getProvider();
-        String partitionId = partition.getId();
+        String partitionId = partition.getUuid();
 
         handleNullObject(provider, "Partition [" + partitionId + "] validation 
failed. Partition provider is null.");
         IaasProvider iaasProvider = 
CloudControllerConfig.getInstance().getIaasProvider(provider);
@@ -1551,7 +1551,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                     if (log.isInfoEnabled()) {
                         log.info(String.format("Validating partition: 
[network-partition-uuid] %s " +
                                         "[network-partition-id] %s 
[partition-id] %s", networkPartitionUuid,
-                                networkPartition.getId(), partition.getId()));
+                                networkPartition.getId(), 
partition.getUuid()));
                     }
                     // Overwrites partition provider with network partition 
provider
                     partition.setProvider(networkPartition.getProvider());
@@ -1562,12 +1562,12 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                         throw new 
InvalidNetworkPartitionException(String.format("Network partition " +
                                         "[network-partition-uuid] %s 
[network-partition-id] %s , " +
                                         "is invalid since the partition %s is 
invalid",
-                                networkPartition.getUuid(), 
networkPartition.getId(), partition.getId()), e);
+                                networkPartition.getUuid(), 
networkPartition.getId(), partition.getUuid()), e);
                     }
                     if (log.isInfoEnabled()) {
                         log.info(String.format("Partition validated 
successfully: [network-partition-uuid] %s " +
                                 "[network-partition-id] %s [partition-id] %s", 
networkPartition.getUuid(),
-                                networkPartition.getId(), partition.getId()));
+                                networkPartition.getId(), 
partition.getUuid()));
                     }
                 }
             }
@@ -1662,7 +1662,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                         if (log.isInfoEnabled()) {
                             log.info(String.format("Validating partition: 
[network-partition-uuid] %s " +
                                             "[network-partition-id] %s 
[partition-id] %s", networkPartitionUuid,
-                                    networkPartitionId, partition.getId()));
+                                    networkPartitionId, partition.getUuid()));
                         }
                         // Overwrites partition provider with network 
partition provider
                         partition.setProvider(networkPartition.getProvider());
@@ -1670,7 +1670,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                         if (log.isInfoEnabled()) {
                             log.info(String.format("Partition validated 
successfully: [network-partition-uuid] %s " +
                                     "[network-partition-uuid] %s 
[partition-id] %s", networkPartitionUuid,
-                                    networkPartitionId, partition.getId()));
+                                    networkPartitionId, partition.getUuid()));
                         }
                     }
                 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
index 37580eb..4015a77 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
@@ -59,7 +59,7 @@ public class CloudControllerServiceUtil {
             return;
         }
 
-        String partitionId = memberContext.getPartition() == null ? null : 
memberContext.getPartition().getId();
+        String partitionId = memberContext.getPartition() == null ? null : 
memberContext.getPartition().getUuid();
 
         // Update the topology
         
TopologyBuilder.handleMemberTerminated(memberContext.getCartridgeType(),
@@ -98,7 +98,7 @@ public class CloudControllerServiceUtil {
             return iaasProvider;
 
         } else {
-            String msg = "Partition is not valid: [partition-id] " + 
partition.getId();
+            String msg = "Partition is not valid: [partition-id] " + 
partition.getUuid();
             log.error(msg);
             throw new InvalidPartitionException(msg);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/InstanceCreator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/InstanceCreator.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/InstanceCreator.java
index 77cfea2..34a7c93 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/InstanceCreator.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/InstanceCreator.java
@@ -88,7 +88,7 @@ public class InstanceCreator implements Runnable {
             // Publish instance creation statistics to BAM
             BAMUsageDataPublisher.publish(
                     memberContext.getMemberId(),
-                    memberContext.getPartition().getId(),
+                    memberContext.getPartition().getUuid(),
                     memberContext.getNetworkPartitionId(),
                     memberContext.getClusterId(),
                     memberContext.getCartridgeType(),

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
index 60a3102..ad361b8 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
@@ -257,7 +257,7 @@ public class CloudControllerUtil {
     public static String getPartitionIds(Partition[] partitions) {
         StringBuilder str = new StringBuilder("");
         for (Partition partition : partitions) {
-            str.append(partition.getId() + ", ");
+            str.append(partition.getUuid() + ", ");
         }
 
         String partitionStr = str.length() == 0 ? str.toString() : 
str.substring(0, str.length() - 2);

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index 4ee735e..de344d2 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -413,6 +413,8 @@ public class ObjectConverter {
         org.apache.stratos.cloud.controller.stub.domain.Partition 
stubPartition = new
                 org.apache.stratos.cloud.controller.stub.domain.Partition();
         stubPartition.setId(partition.getId());
+           stubPartition.setUuid(UUID.randomUUID().toString());
+           stubPartition.setTenantId(tenantId);
         
stubPartition.setProperties(convertPropertyBeansToCCStubProperties(partition.getProperty(),
 tenantId));
 
         return stubPartition;

http://git-wip-us.apache.org/repos/asf/stratos/blob/eb8cfe23/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 e01b86e..f64cc1e 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,15 +5,24 @@
             <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="getIaasProviders">
+            <xs:element name="CloudControllerServiceInvalidPartitionException">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" 
name="InvalidPartitionException" nillable="true" 
type="ax21:InvalidPartitionException"/>
+                    </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="validatePartitionResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -185,42 +194,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <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="validateDeploymentPolicyNetworkPartition">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeUuid" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="networkPartitionUuid" 
nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element 
name="validateDeploymentPolicyNetworkPartitionResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
-                    </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>
@@ -228,20 +201,6 @@
                     </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="CloudControllerServiceCloudControllerException">
                 <xs:complexType>
                     <xs:sequence>
@@ -263,27 +222,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="CloudControllerServiceInvalidMemberException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidMemberException" nillable="true" 
type="ax21:InvalidMemberException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="terminateInstance">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="terminateInstanceResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element name="terminateInstanceForcefully">
                 <xs:complexType>
                     <xs:sequence>
@@ -319,96 +257,99 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatus">
+            <xs:element name="registerService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="status" 
nillable="true" type="ax29:ClusterStatus"/>
+                        <xs:element minOccurs="0" name="registrant" 
nillable="true" type="ax26:Registrant"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterStatusResponse">
+            <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="CloudControllerServiceUnregisteredClusterException">
+            <xs:element name="getCartridgeByTenant">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="UnregisteredClusterException" nillable="true" 
type="ax21:UnregisteredClusterException"/>
+                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="tenantId" 
type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterService">
+            <xs:element name="getCartridgeByTenantResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="unregisterServiceResponse">
+            <xs:element name="getCartridgesByTenant">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="tenantId" 
type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridge">
+            <xs:element name="getCartridgesByTenantResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeUuid" 
nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:Cartridge"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeResponse">
+            <xs:element 
name="CloudControllerServiceUnregisteredClusterException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:Cartridge"/>
+                        <xs:element minOccurs="0" 
name="UnregisteredClusterException" nillable="true" 
type="ax21:UnregisteredClusterException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeByTenant">
+            <xs:element name="unregisterService">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="tenantId" 
type="xs:int"/>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgeByTenantResponse">
+            <xs:element name="unregisterServiceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:Cartridge"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridges">
+            <xs:element name="validateDeploymentPolicyNetworkPartition">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cartridgeUuid" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="networkPartitionUuid" 
nillable="true" type="xs:string"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgesResponse">
+            <xs:element 
name="validateDeploymentPolicyNetworkPartitionResponse">
                 <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>
-            <xs:element name="getClusterContext">
+            <xs:element name="updateClusterStatus">
                 <xs:complexType>
                     <xs:sequence>
+                        <xs:element minOccurs="0" name="serviceName" 
nillable="true" type="xs:string"/>
                         <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="instanceId" 
nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="status" 
nillable="true" type="ax29:ClusterStatus"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getClusterContextResponse">
+            <xs:element name="updateClusterStatusResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ClusterContext"/>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -479,20 +420,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getKubernetesCluster">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterUuid" 
nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getKubernetesClusterResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax213:KubernetesCluster"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element name="getKubernetesClusterByTenant">
                 <xs:complexType>
                     <xs:sequence>
@@ -600,38 +527,24 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element 
name="CloudControllerServiceNonExistingKubernetesHostException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="NonExistingKubernetesHostException" nillable="true" 
type="ax21:NonExistingKubernetesHostException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="updateKubernetesHost">
+            <xs:element name="removeKubernetesCluster">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax213:KubernetesHost"/>
+                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateKubernetesHostResponse">
+            <xs:element name="removeKubernetesClusterResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeKubernetesCluster">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="kubernetesClusterId" 
nillable="true" type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="removeKubernetesClusterResponse">
+            <xs:element 
name="CloudControllerServiceNonExistingKubernetesHostException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                        <xs:element minOccurs="0" 
name="NonExistingKubernetesHostException" nillable="true" 
type="ax21:NonExistingKubernetesHostException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -677,6 +590,20 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="updateKubernetesHost">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="kubernetesHost" 
nillable="true" type="ax213:KubernetesHost"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="updateKubernetesHostResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element 
name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
@@ -781,31 +708,104 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgesByTenant">
+            <xs:element name="startInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="tenantId" 
type="xs:int"/>
+                        <xs:element minOccurs="0" name="instanceContext" 
nillable="true" type="ax26:InstanceContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getCartridgesByTenantResponse">
+            <xs:element name="startInstanceResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:Cartridge"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:MemberContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstance">
+            <xs:element name="CloudControllerServiceInvalidMemberException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="instanceContext" 
nillable="true" type="ax26:InstanceContext"/>
+                        <xs:element minOccurs="0" 
name="InvalidMemberException" nillable="true" 
type="ax21:InvalidMemberException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="startInstanceResponse">
+            <xs:element name="terminateInstance">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:MemberContext"/>
+                        <xs:element minOccurs="0" name="memberId" 
nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="terminateInstanceResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridge">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cartridgeUuid" 
nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getCartridgeResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:Cartridge"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getClusterContext">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getClusterContextResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ClusterContext"/>
+                    </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="getKubernetesCluster">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="kubernetesClusterUuid" 
nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getKubernetesClusterResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax213:KubernetesCluster"/>
+                    </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>
@@ -835,6 +835,11 @@
             </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="InvalidCartridgeDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
@@ -863,11 +868,6 @@
                     <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="CartridgeNotFoundException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
@@ -880,11 +880,6 @@
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="InvalidMemberException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="InvalidClusterException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
@@ -953,6 +948,11 @@
             <xs:complexType name="NetworkPartitionNotExistsException">
                 <xs:sequence/>
             </xs:complexType>
+            <xs:complexType name="InvalidMemberException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
         <xs:schema xmlns:ax212="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd";>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
@@ -1009,6 +1009,19 @@
         <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: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"/>
@@ -1120,30 +1133,6 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" 
name="startupOrders" nillable="true" type="xs:string"/>
                 </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="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="InstanceContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="cartridgeType" 
nillable="true" type="xs:string"/>
@@ -1199,20 +1188,17 @@
                     <xs:element minOccurs="0" name="ram" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ClusterContext">
+            <xs:complexType name="Registrant">
                 <xs:sequence>
-                    <xs:element minOccurs="0" name="applicationUuid" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="cartridgeUuid" 
nillable="true" type="xs:string"/>
+                    <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="kubernetesClusterId" 
nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="kubernetesServices" 
nillable="true" type="xs:anyType"/>
-                    <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="persistence" 
nillable="true" type="ax23:Persistence"/>
                     <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax25:Properties"/>
-                    <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="ax23:Volume"/>
+                    <xs:element minOccurs="0" name="tenantRange" 
nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
@@ -1243,6 +1229,22 @@
                     <xs:element minOccurs="0" name="uuid" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="ClusterContext">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="applicationUuid" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="cartridgeUuid" 
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="kubernetesClusterId" 
nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="kubernetesServices" 
nillable="true" type="xs:anyType"/>
+                    <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="properties" 
nillable="true" type="ax25:Properties"/>
+                    <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="ax23:Volume"/>
+                </xs:sequence>
+            </xs:complexType>
         </xs:schema>
     </wsdl:types>
     <wsdl:message name="getCartridgesRequest">

Reply via email to