Fixing cartridge remove operation

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

Branch: refs/heads/tenant-isolation
Commit: 5dcac9257364505e5d604c2814fc7f510b1b18d7
Parents: 719ebca
Author: Dinithi <[email protected]>
Authored: Tue Jul 28 13:43:20 2015 +0530
Committer: Dinithi <[email protected]>
Committed: Tue Jul 28 13:43:20 2015 +0530

----------------------------------------------------------------------
 .../applications/topic/ApplicationBuilder.java  |  22 +-
 .../context/cluster/ClusterContext.java         |  22 +-
 .../context/cluster/ClusterContextFactory.java  |   6 +-
 .../AutoscalerTopologyEventReceiver.java        |  12 +-
 .../monitor/cluster/ClusterMonitor.java         |  20 +-
 .../monitor/component/ApplicationMonitor.java   |   4 +-
 .../monitor/component/GroupMonitor.java         |   6 +-
 .../component/ParentComponentMonitor.java       |   2 +-
 .../services/impl/AutoscalerServiceImpl.java    |   2 +-
 .../context/CloudControllerContext.java         |  22 +-
 .../publisher/TopologyEventPublisher.java       |   2 +-
 .../messaging/topology/TopologyBuilder.java     |  34 +-
 .../impl/CloudControllerServiceImpl.java        |  49 +-
 .../client/CloudControllerServiceClient.java    |   8 +-
 ...LoadBalancerCommonTopologyEventReceiver.java |   2 +-
 .../domain/application/Application.java         |   2 +-
 .../messaging/domain/instance/Instance.java     |  10 +-
 .../messaging/domain/topology/Cluster.java      |  34 +-
 .../messaging/domain/topology/Topology.java     |  14 +-
 .../topology/locking/TopologyLockHierarchy.java |   8 +-
 .../event/topology/ClusterCreatedEvent.java     |   2 +-
 .../topology/ClusterInstanceCreatedEvent.java   |  12 +-
 ...licationInstanceCreatedMessageProcessor.java |   2 +-
 ...licationClustersCreatedMessageProcessor.java |  14 +-
 .../ClusterCreatedMessageProcessor.java         |   4 +-
 .../ClusterInstanceCreatedMessageProcessor.java |  14 +-
 .../topology/updater/TopologyUpdater.java       |  10 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  10 +-
 .../util/converter/ObjectConverter.java         |   4 +-
 .../src/main/resources/AutoscalerService.wsdl   | 396 ++++-----
 .../main/resources/CloudControllerService.wsdl  | 858 +++++++++----------
 .../main/resources/StratosManagerService.wsdl   | 176 ++--
 32 files changed, 894 insertions(+), 889 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index 5fd58bd..3ca1148 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -103,7 +103,7 @@ public class ApplicationBuilder {
             if (!application.containsInstanceContext(instanceId)) {
                 //setting the status, persist and publish
                 applicationInstance = new ApplicationInstance(appId, 
instanceId);
-                applicationInstance.setNetworkPartitionId(networkPartitionId);
+                
applicationInstance.setNetworkPartitionUuid(networkPartitionId);
                 application.addInstance(instanceId, applicationInstance);
                 //updateApplicationMonitor(appId, status);
                 ApplicationHolder.persistApplication(application);
@@ -138,7 +138,7 @@ public class ApplicationBuilder {
         if (applicationInstance.isStateTransitionValid(status)) {
             //setting the status, persist and publish
             application.setStatus(status, instanceId);
-            updateApplicationMonitor(appId, status, 
applicationInstance.getNetworkPartitionId(),
+            updateApplicationMonitor(appId, status, 
applicationInstance.getNetworkPartitionUuid(),
                     instanceId);
             ApplicationHolder.persistApplication(application);
             
ApplicationsEventPublisher.sendApplicationInstanceActivatedEvent(appId, 
instanceId);
@@ -169,7 +169,7 @@ public class ApplicationBuilder {
         if (applicationInstance.isStateTransitionValid(status)) {
             //setting the status, persist and publish
             application.setStatus(status, instanceId);
-            updateApplicationMonitor(appId, status, 
applicationInstance.getNetworkPartitionId(),
+            updateApplicationMonitor(appId, status, 
applicationInstance.getNetworkPartitionUuid(),
                     instanceId);
             ApplicationHolder.persistApplication(application);
             
ApplicationsEventPublisher.sendApplicationInstanceInactivatedEvent(appId, 
instanceId);
@@ -199,7 +199,7 @@ public class ApplicationBuilder {
         if (applicationInstance.isStateTransitionValid(status)) {
             // setting the status, persist and publish
             application.setStatus(status, instanceId);
-            updateApplicationMonitor(appId, status, 
applicationInstance.getNetworkPartitionId(), instanceId);
+            updateApplicationMonitor(appId, status, 
applicationInstance.getNetworkPartitionUuid(), instanceId);
             ApplicationHolder.persistApplication(application);
             
ApplicationsEventPublisher.sendApplicationInstanceTerminatingEvent(appId, 
instanceId);
         } else {
@@ -275,13 +275,13 @@ public class ApplicationBuilder {
                 //setting the status, persist and publish
                 applicationInstance.setStatus(status);
                 updateApplicationMonitor(applicationId, status,
-                        applicationInstance.getNetworkPartitionId(),
+                        applicationInstance.getNetworkPartitionUuid(),
                         instanceId);
                 ApplicationMonitor applicationMonitor = 
AutoscalerContext.getInstance().
                         getAppMonitor(applicationId);
                 NetworkPartitionContext networkPartitionContext = 
applicationMonitor.
                         getNetworkPartitionContext(applicationInstance.
-                                getNetworkPartitionId());
+                                getNetworkPartitionUuid());
                 networkPartitionContext.removeInstanceContext(instanceId);
                 applicationMonitor.removeInstance(instanceId);
                 application.removeInstance(instanceId);
@@ -424,7 +424,7 @@ public class ApplicationBuilder {
                     }
                     
org.apache.stratos.autoscaler.context.partition.network.ParentLevelNetworkPartitionContext
 networkPartitionContext =
                             
(org.apache.stratos.autoscaler.context.partition.network.ParentLevelNetworkPartitionContext)
 monitor.
-                                    
getNetworkPartitionContext(groupInstance.getNetworkPartitionId());
+                                    
getNetworkPartitionContext(groupInstance.getNetworkPartitionUuid());
                     networkPartitionContext.removeInstanceContext(instanceId);
                     if (groupInstance.getPartitionId() != null) {
                         
networkPartitionContext.getPartitionCtxt(groupInstance.getPartitionId()).
@@ -477,7 +477,7 @@ public class ApplicationBuilder {
             if (groupInstance.isStateTransitionValid(status)) {
                 //setting the status, persist and publish
                 groupInstance.setStatus(status);
-                updateGroupMonitor(appId, groupId, status, 
groupInstance.getNetworkPartitionId(),
+                updateGroupMonitor(appId, groupId, status, 
groupInstance.getNetworkPartitionUuid(),
                         instanceId, groupInstance.getParentId());
                 ApplicationHolder.persistApplication(application);
                 
ApplicationsEventPublisher.sendGroupInstanceActivatedEvent(appId, groupId, 
instanceId);
@@ -535,7 +535,7 @@ public class ApplicationBuilder {
                 groupInstance = new GroupInstance(groupId, instanceId);
                 groupInstance.setParentId(parentId);
                 groupInstance.setPartitionId(partitionId);
-                groupInstance.setNetworkPartitionId(networkPartitionId);
+                groupInstance.setNetworkPartitionUuid(networkPartitionId);
                 groupInstance.setStatus(status);
                 group.addInstance(instanceId, groupInstance);
                 //updateGroupMonitor(appId, groupId, status);
@@ -581,7 +581,7 @@ public class ApplicationBuilder {
             if (groupInstance.isStateTransitionValid(status)) {
                 //setting the status, persist and publish
                 groupInstance.setStatus(status);
-                updateGroupMonitor(appId, groupId, status, 
groupInstance.getNetworkPartitionId(),
+                updateGroupMonitor(appId, groupId, status, 
groupInstance.getNetworkPartitionUuid(),
                         instanceId, groupInstance.getParentId());
                 ApplicationHolder.persistApplication(application);
                 
ApplicationsEventPublisher.sendGroupInstanceInactivateEvent(appId, groupId, 
instanceId);
@@ -627,7 +627,7 @@ public class ApplicationBuilder {
                 if (groupInstance.isStateTransitionValid(status)) {
                     //setting the status, persist and publish
                     groupInstance.setStatus(status);
-                    updateGroupMonitor(appId, groupId, status, 
groupInstance.getNetworkPartitionId(),
+                    updateGroupMonitor(appId, groupId, status, 
groupInstance.getNetworkPartitionUuid(),
                             instanceId, groupInstance.getParentId());
                     ApplicationHolder.persistApplication(application);
                     
ApplicationsEventPublisher.sendGroupInstanceTerminatingEvent(appId,

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
index 1f8971b..80f9da1 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
@@ -120,16 +120,16 @@ public class ClusterContext extends 
AbstractClusterContext {
         DeploymentPolicy deploymentPolicy = PolicyManager.getInstance().
                 getDeploymentPolicy(deploymentPolicyName);
 
-        if 
(networkPartitionCtxts.containsKey(clusterInstance.getNetworkPartitionId())) {
+        if 
(networkPartitionCtxts.containsKey(clusterInstance.getNetworkPartitionUuid())) {
             networkPartitionContext = this.networkPartitionCtxts.get(
-                    clusterInstance.getNetworkPartitionId());
+                    clusterInstance.getNetworkPartitionUuid());
         } else {
 
             NetworkPartitionRef[] networkPartitions = 
deploymentPolicy.getNetworkPartitionRefs();
             NetworkPartitionRef networkPartition = null;
             if (networkPartitions != null && networkPartitions.length != 0) {
                 for (NetworkPartitionRef i : networkPartitions) {
-                    if 
(i.getId().equals(clusterInstance.getNetworkPartitionId())) {
+                    if 
(i.getId().equals(clusterInstance.getNetworkPartitionUuid())) {
                         networkPartition = i;
                     }
                 }
@@ -138,7 +138,7 @@ public class ClusterContext extends AbstractClusterContext {
             if (networkPartition == null) {
                 //Parent should have the partition specified
                 networkPartitionContext = new 
ClusterLevelNetworkPartitionContext(
-                        clusterInstance.getNetworkPartitionId());
+                        clusterInstance.getNetworkPartitionUuid());
             } else {
                 networkPartitionContext = new 
ClusterLevelNetworkPartitionContext(networkPartition.getUuid(),
                         networkPartition.getPartitionAlgo(), 0);
@@ -153,15 +153,15 @@ public class ClusterContext extends 
AbstractClusterContext {
             networkPartitionContext = parseDeploymentPolicy(clusterInstance, 
cluster,
                     networkPartitionContext, hasScalingDependents, 
groupScalingEnabledSubtree);
         }
-        if 
(!networkPartitionCtxts.containsKey(clusterInstance.getNetworkPartitionId())) {
-            
this.networkPartitionCtxts.put(clusterInstance.getNetworkPartitionId(),
+        if 
(!networkPartitionCtxts.containsKey(clusterInstance.getNetworkPartitionUuid())) 
{
+            
this.networkPartitionCtxts.put(clusterInstance.getNetworkPartitionUuid(),
                     networkPartitionContext);
             if (log.isInfoEnabled()) {
                 log.info(String.format("Cluster instance context has been 
added to network partition," +
                                 " [application] %s [cluster] %s  
[cluster-instance] %s " +
                                 "[network partition] %s", cluster.getAppId(), 
cluster.getClusterId(),
                         clusterInstance.getInstanceId(),
-                        clusterInstance.getNetworkPartitionId()));
+                        clusterInstance.getNetworkPartitionUuid()));
             }
         }
 
@@ -205,7 +205,7 @@ public class ClusterContext extends AbstractClusterContext {
         if (networkPartitions != null && networkPartitions.length != 0) {
             for (NetworkPartitionRef networkPartition2 : networkPartitions) {
                 if (networkPartition2.getUuid().equals(
-                        clusterInstance.getNetworkPartitionId())) {
+                        clusterInstance.getNetworkPartitionUuid())) {
                     networkPartitionRef = networkPartition2;
                 }
             }
@@ -246,7 +246,7 @@ public class ClusterContext extends AbstractClusterContext {
         if (clusterInstance.getPartitionId() == null && partition == null) {
             String msg = "[Partition] " + clusterInstance.getPartitionId() + " 
for [application] " +
                     cluster.getAppId() + " [networkPartition] " +
-                    clusterInstance.getNetworkPartitionId() + "is null " +
+                    clusterInstance.getNetworkPartitionUuid() + "is null " +
                     "in deployment policy: [cluster-alias]: " + 
clusterInstance.getAlias();
             log.error(msg);
             throw new PolicyValidationException(msg);
@@ -311,8 +311,8 @@ public class ClusterContext extends AbstractClusterContext {
         //Creating cluster level partition context
         ClusterLevelPartitionContext clusterLevelPartitionContext = new 
ClusterLevelPartitionContext(
                 partition3,
-                clusterInstance.getNetworkPartitionId(), 
this.deploymentPolicyId);
-        clusterLevelPartitionContext.setServiceName(cluster.getServiceName());
+                clusterInstance.getNetworkPartitionUuid(), 
this.deploymentPolicyId);
+        clusterLevelPartitionContext.setServiceName(cluster.getServiceUuid());
         clusterLevelPartitionContext.setProperties(cluster.getProperties());
 
         //add members to partition Context

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
index a8fa9ad..b0d960a 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContextFactory.java
@@ -23,8 +23,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import 
org.apache.stratos.autoscaler.exception.partition.PartitionValidationException;
 import 
org.apache.stratos.autoscaler.exception.policy.PolicyValidationException;
-import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
-import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 
 public class ClusterContextFactory {
@@ -39,13 +37,13 @@ public class ClusterContextFactory {
             return null;
         }
 
-        String autoscalePolicyName = cluster.getAutoscalePolicyName();
+        String autoscalePolicyName = cluster.getAutoscalePolicyUuid();
 
         if (log.isDebugEnabled()) {
             log.debug("Autoscaler policy name: " + autoscalePolicyName);
         }
 
-        return new ClusterContext(cluster.getClusterId(), 
cluster.getServiceName(),
+        return new ClusterContext(cluster.getClusterId(), 
cluster.getServiceUuid(),
                 autoscalePolicyName, hasScalingDependents,
                 deploymentPolicyId);
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
index 1481440..9388985 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
@@ -287,7 +287,7 @@ public class AutoscalerTopologyEventReceiver {
                             sendInstanceCleanupEventForCluster(clusterId, 
clusterInstanceId);
                 } else {
                     monitor.notifyParentMonitor(ClusterStatus.Terminating, 
clusterInstanceId);
-                    monitor.terminateAllMembers(clusterInstanceId, 
clusterInstance.getNetworkPartitionId());
+                    monitor.terminateAllMembers(clusterInstanceId, 
clusterInstance.getNetworkPartitionUuid());
                 }
                 
ServiceReferenceHolder.getInstance().getClusterStatusProcessorChain().
                         process("", clusterId, clusterInstanceId);
@@ -327,7 +327,7 @@ public class AutoscalerTopologyEventReceiver {
                 //Removing the instance and instanceContext
                 ClusterInstance instance = (ClusterInstance) 
monitor.getInstance(instanceId);
                 monitor.getClusterContext().
-                        
getNetworkPartitionCtxt(instance.getNetworkPartitionId()).
+                        
getNetworkPartitionCtxt(instance.getNetworkPartitionUuid()).
                         removeInstanceContext(instanceId);
                 monitor.removeInstance(instanceId);
                 if (!monitor.hasInstance() && appMonitor.isTerminating()) {
@@ -458,12 +458,12 @@ public class AutoscalerTopologyEventReceiver {
                                                        String instanceId = 
clusterInstance.getInstanceId();
                                                        //FIXME to take lock 
when clusterMonitor is running
                                                        if (clusterMonitor != 
null) {
-                                                           
TopologyManager.acquireReadLockForCluster(clusterInstanceCreatedEvent.getServiceName(),
+                                                           
TopologyManager.acquireReadLockForCluster(clusterInstanceCreatedEvent.getServiceUuid(),
                                                                    
clusterInstanceCreatedEvent.getClusterId());
 
                                                            try {
                                                                Service service 
= TopologyManager.getTopology().
-                                                                       
getService(clusterInstanceCreatedEvent.getServiceName());
+                                                                       
getService(clusterInstanceCreatedEvent.getServiceUuid());
 
                                                                if (service != 
null) {
                                                                    Cluster 
cluster = service.getCluster(clusterInstanceCreatedEvent.getClusterId());
@@ -503,13 +503,13 @@ public class AutoscalerTopologyEventReceiver {
                                                                    }
 
                                                                } else {
-                                                                   
log.error("Service " + clusterInstanceCreatedEvent.getServiceName() +
+                                                                   
log.error("Service " + clusterInstanceCreatedEvent.getServiceUuid() +
                                                                            " 
not found, no cluster instance added to ClusterMonitor " +
                                                                            
clusterInstanceCreatedEvent.getClusterId());
                                                                }
 
                                                            } finally {
-                                                               
TopologyManager.releaseReadLockForCluster(clusterInstanceCreatedEvent.getServiceName(),
+                                                               
TopologyManager.releaseReadLockForCluster(clusterInstanceCreatedEvent.getServiceUuid(),
                                                                        
clusterInstanceCreatedEvent.getClusterId());
                                                            }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
index d87af95..442ed77 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
@@ -91,7 +91,7 @@ public class ClusterMonitor extends Monitor {
     protected ClusterContext clusterContext;
     // future to cancel it when destroying monitors
     private ScheduledFuture<?> schedulerFuture;
-    protected String serviceType;
+    protected String serviceUuid;
     private AtomicBoolean monitoringStarted;
     protected String clusterId;
     private Cluster cluster;
@@ -116,7 +116,7 @@ public class ClusterMonitor extends Monitor {
         readConfigurations();
         this.groupScalingEnabledSubtree = groupScalingEnabledSubtree;
         this.setCluster(new Cluster(cluster));
-        this.serviceType = cluster.getServiceName();
+        this.serviceUuid = cluster.getServiceUuid();
         this.monitoringStarted = new AtomicBoolean(false);
         this.hasScalingDependents = hasScalingDependents;
         this.deploymentPolicyId = deploymentPolicyId;
@@ -209,7 +209,7 @@ public class ClusterMonitor extends Monitor {
     }
 
     public String getServiceId() {
-        return serviceType;
+        return serviceUuid;
     }
 
     protected int getRoundedInstanceCount(float requiredInstances, float 
fraction) {
@@ -247,17 +247,17 @@ public class ClusterMonitor extends Monitor {
         return groupScalingEnabledSubtree;
     }
 
-    private static void createClusterInstance(String serviceType,
+    private static void createClusterInstance(String serviceUuid,
                                               String clusterId, String alias, 
String instanceId,
                                               String partitionId, String 
networkPartitionId) {
 
         try {
             CloudControllerServiceClient.getInstance().createClusterInstance(
-                    serviceType, clusterId, alias, instanceId, partitionId,
+                    serviceUuid, clusterId, alias, instanceId, partitionId,
                     networkPartitionId);
         } catch (RemoteException e) {
             String msg = " Exception occurred in creating cluster instance 
with cluster-id [" + clusterId
-                    + "] instance-id [" + instanceId + "] service-type [" + 
serviceType + "]"
+                    + "] instance-id [" + instanceId + "] service-type [" + 
serviceUuid + "]"
                     + "] alias [" + alias + "] partition-id [" + partitionId + 
"]"
                     + "] network-parition-id [" + networkPartitionId + "]"
                     + " .Reason [" + e.getMessage() + "]";
@@ -1396,7 +1396,7 @@ public class ClusterMonitor extends Monitor {
     }
 
     public boolean createInstanceOnDemand(String instanceId) {
-        Cluster cluster = 
TopologyManager.getTopology().getService(this.serviceType).
+        Cluster cluster = 
TopologyManager.getTopology().getService(this.serviceUuid).
                 getCluster(this.clusterId);
         try {
             return createInstance(instanceId, cluster);
@@ -1450,11 +1450,11 @@ public class ClusterMonitor extends Monitor {
                             cluster.getClusterId()));
                 }
             } else {
-                createClusterInstance(cluster.getServiceName(), 
cluster.getClusterId(), null, parentInstanceId, partitionId,
-                        parentMonitorInstance.getNetworkPartitionId());
+                createClusterInstance(cluster.getServiceUuid(), 
cluster.getClusterId(), null, parentInstanceId, partitionId,
+                        parentMonitorInstance.getNetworkPartitionUuid());
                 if (log.isDebugEnabled()) {
                     log.debug(String.format("Cluster instance created: 
[application-id] %s [service-name] %s " +
-                            "[cluster-id] %s", appId, 
cluster.getServiceName(), cluster.getClusterId()));
+                            "[cluster-id] %s", appId, 
cluster.getServiceUuid(), cluster.getClusterId()));
                 }
             }
             return true;

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
index b4f08a8..dad15e9 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
@@ -481,7 +481,7 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
             for(ApplicationInstance instance : instanceMap.values()) {
                 if(!instanceIds.contains(instance.getInstanceId())) {
                     ParentLevelNetworkPartitionContext context =
-                            new 
ParentLevelNetworkPartitionContext(instance.getNetworkPartitionId());
+                            new 
ParentLevelNetworkPartitionContext(instance.getNetworkPartitionUuid());
                     //If application instances found in the 
ApplicationsTopology,
                     // then have to add them first before creating new one
                     ApplicationInstance appInstance = (ApplicationInstance) 
application.
@@ -490,7 +490,7 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
                     handleApplicationInstanceCreation(application, context, 
appInstance);
                     instanceIds.add(instance.getInstanceId());
                     log.info("Burst Application instance has been added in the 
restart for " +
-                            "the [network partition] " + 
instance.getNetworkPartitionId() +
+                            "the [network partition] " + 
instance.getNetworkPartitionUuid() +
                             " [appInstanceId] " + instance.getInstanceId());
                 }
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
index 2c7383c..171a104 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
@@ -694,7 +694,7 @@ public class GroupMonitor extends ParentComponentMonitor {
         String deploymentPolicyId = 
AutoscalerUtil.getDeploymentPolicyIdByAlias(appId, groupAlias);
         DeploymentPolicy deploymentPolicy = 
PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId);
 
-        String networkPartitionId = 
parentInstanceContext.getNetworkPartitionId();
+        String networkPartitionId = 
parentInstanceContext.getNetworkPartitionUuid();
         if 
(this.getNetworkPartitionContextsMap().containsKey(networkPartitionId)) {
             parentLevelNetworkPartitionContext = 
(ParentLevelNetworkPartitionContext) this.getNetworkPartitionContextsMap().
                     get(networkPartitionId);
@@ -741,7 +741,7 @@ public class GroupMonitor extends ParentComponentMonitor {
     private void addPartitionContext(Instance parentInstanceContext,
                                      ParentLevelNetworkPartitionContext 
networkPartitionContext, String groupAlias) {
 
-        String networkPartitionId = 
parentInstanceContext.getNetworkPartitionId();
+        String networkPartitionId = 
parentInstanceContext.getNetworkPartitionUuid();
 
         String deploymentPolicyId = 
AutoscalerUtil.getDeploymentPolicyIdByAlias(appId, groupAlias);
         DeploymentPolicy deploymentPolicy = 
PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId);
@@ -812,7 +812,7 @@ public class GroupMonitor extends ParentComponentMonitor {
                 partitionId = partitionContext.getPartitionId();
             }
 
-            groupInstance = createGroupInstance(group, 
parentInstanceContext.getNetworkPartitionId(),
+            groupInstance = createGroupInstance(group, 
parentInstanceContext.getNetworkPartitionUuid(),
                     parentInstanceContext.getInstanceId(), partitionId);
         }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
index 717edc3..171bc90 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
@@ -650,7 +650,7 @@ public abstract class ParentComponentMonitor extends 
Monitor {
         int noOfInstancesOfRequiredStatus = 0;
         for (String childInstanceId : groupInstances) {
             GroupInstance childGroupInstance = (GroupInstance) 
monitor.getInstance(childInstanceId);
-            networkPartitionId = childGroupInstance.getNetworkPartitionId();
+            networkPartitionId = childGroupInstance.getNetworkPartitionUuid();
             if (childGroupInstance.getStatus() == requiredStatus) {
                 noOfInstancesOfRequiredStatus++;
             }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/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 e7bdc3f..a191c97 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
@@ -1174,7 +1174,7 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
             if(cluster != null) {
                 Collection<ClusterInstance> allClusterInstances = 
cluster.getClusterInstances();
                 for (ClusterInstance clusterInstance : allClusterInstances) {
-                    
ClusterStatusEventPublisher.sendClusterTerminatedEvent(applicationId, 
cluster.getServiceName(),
+                    
ClusterStatusEventPublisher.sendClusterTerminatedEvent(applicationId, 
cluster.getServiceUuid(),
                             clusterId, clusterInstance.getInstanceId());
                 }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
index 35d0da2..b749e1b 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
@@ -312,10 +312,12 @@ public class CloudControllerContext implements 
Serializable {
         return networkPartitionForTenant;
     }
 
-    public void removeCartridge(Cartridge cartridge) {
-        if (cartridgeTypeToCartridgeMap.containsKey(cartridge.getUuid())) {
-            cartridgeTypeToCartridgeMap.remove(cartridge.getUuid());
+    public boolean removeCartridge(String cartridgeUuid) {
+        if (cartridgeTypeToCartridgeMap.containsKey(cartridgeUuid)) {
+            cartridgeTypeToCartridgeMap.remove(cartridgeUuid);
+            return true;
         }
+        return false;
     }
 
     public void updateCartridge(Cartridge cartridge) {
@@ -491,21 +493,21 @@ public class CloudControllerContext implements 
Serializable {
         return executorService;
     }
 
-    public List<String> getPartitionIds(String cartridgeType) {
-        return cartridgeTypeToPartitionIdsMap.get(cartridgeType);
+    public List<String> getPartitionIds(String cartridgeUuid) {
+        return cartridgeTypeToPartitionIdsMap.get(cartridgeUuid);
     }
 
-    public void addToCartridgeTypeToPartitionIdMap(String cartridgeType, 
String partitionId) {
-        List<String> list = 
this.cartridgeTypeToPartitionIdsMap.get(cartridgeType);
+    public void addToCartridgeTypeToPartitionIdMap(String cartridgeUuid, 
String partitionId) {
+        List<String> list = 
this.cartridgeTypeToPartitionIdsMap.get(cartridgeUuid);
         if (list == null) {
             list = new ArrayList<String>();
         }
         list.add(partitionId);
-        cartridgeTypeToPartitionIdsMap.put(cartridgeType, list);
+        cartridgeTypeToPartitionIdsMap.put(cartridgeUuid, list);
     }
 
-    public void removeFromCartridgeTypeToPartitionIds(String cartridgeType) {
-        cartridgeTypeToPartitionIdsMap.remove(cartridgeType);
+    public void removeFromCartridgeTypeToPartitionIds(String cartridgeUuid) {
+        cartridgeTypeToPartitionIdsMap.remove(cartridgeUuid);
     }
 
     public KubernetesClusterContext getKubernetesClusterContext(String 
kubernetesClusterId) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/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 a87f734..63c8ab2 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
@@ -286,7 +286,7 @@ public class TopologyEventPublisher {
         if (log.isInfoEnabled()) {
             log.info(String.format("Publishing cluster instance created event: 
[service-name] %s [cluster-id] %s " +
                             " in [network-partition-id] %s [instance-id] %s",
-                    clusterInstanceCreatedEvent.getServiceName(), 
clusterInstanceCreatedEvent.getClusterId(),
+                    clusterInstanceCreatedEvent.getServiceUuid(), 
clusterInstanceCreatedEvent.getClusterId(),
                     clusterInstanceCreatedEvent.getNetworkPartitionId(),
                     
clusterInstanceCreatedEvent.getClusterInstance().getInstanceId()));
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/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 b960909..f88222c 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
@@ -119,26 +119,26 @@ public class TopologyBuilder {
         Topology topology = TopologyManager.getTopology();
 
         for (Cartridge cartridge : cartridgeList) {
-            Service service = topology.getService(cartridge.getType());
+            Service service = topology.getService(cartridge.getUuid());
             if (service == null) {
-                log.warn("Cartridge does not exist [cartidge] " + cartridge);
+                log.warn("Cartridge does not exist [cartridge] " + cartridge);
                 return;
             }
             if (service.getClusters().size() == 0) {
-                if (topology.serviceExists(cartridge.getType())) {
+                if (topology.serviceExists(cartridge.getUuid())) {
                     try {
                         TopologyManager.acquireWriteLock();
-                        topology.removeService(cartridge.getType());
+                        topology.removeService(cartridge.getUuid());
                         TopologyManager.updateTopology(topology);
                     } finally {
                         TopologyManager.releaseWriteLock();
                     }
                     
TopologyEventPublisher.sendServiceRemovedEvent(cartridgeList);
                 } else {
-                    log.warn(String.format("Service %s does not exist..", 
cartridge.getType()));
+                    log.warn(String.format("Service %s does not exist..", 
cartridge.getUuid()));
                 }
             } else {
-                log.warn("Subscription already exists. Hence not removing the 
service:" + cartridge.getType()
+                log.warn("Subscription already exists. Hence not removing the 
service:" + cartridge.getUuid()
                         + " from the topology");
             }
         }
@@ -184,9 +184,9 @@ public class TopologyBuilder {
         try {
             Topology topology = TopologyManager.getTopology();
             for (Cluster cluster : appClusters) {
-                Service service = 
topology.getService(cluster.getServiceName());
+                Service service = 
topology.getService(cluster.getServiceUuid());
                 if (service == null) {
-                    log.error("Service " + cluster.getServiceName()
+                    log.error("Service " + cluster.getServiceUuid()
                             + " not found in Topology, unable to create 
Application cluster");
                 } else {
                     service.addCluster(cluster);
@@ -200,7 +200,7 @@ public class TopologyBuilder {
 
         log.debug("Creating cluster port mappings: [application-id] " + appId);
         for(Cluster cluster : appClusters) {
-            String cartridgeType = cluster.getServiceName();
+            String cartridgeType = cluster.getServiceUuid();
             Cartridge cartridge = 
CloudControllerContext.getInstance().getCartridge(cartridgeType);
             if(cartridge == null) {
                 throw new CloudControllerException("Cartridge not found: 
[cartridge-type] " + cartridgeType);
@@ -234,7 +234,7 @@ public class TopologyBuilder {
             if (clusterData != null) {
                 // remove clusters from CC topology model and remove runtime 
information
                 for (ClusterDataHolder aClusterData : clusterData) {
-                    Service aService = 
topology.getService(aClusterData.getServiceType());
+                    Service aService = 
topology.getService(aClusterData.getServiceUuid());
                     if (aService != null) {
                         
removedClusters.add(aService.removeCluster(aClusterData.getClusterId()));
                     } else {
@@ -315,17 +315,17 @@ public class TopologyBuilder {
 
     }
 
-    public static void handleClusterInstanceCreated(String serviceType, String 
clusterId,
+    public static void handleClusterInstanceCreated(String serviceUuid, String 
clusterId,
                                                     String alias, String 
instanceId, String partitionId,
-                                                    String networkPartitionId) 
{
+                                                    String 
networkPartitionUuid) {
 
         TopologyManager.acquireWriteLock();
 
         try {
             Topology topology = TopologyManager.getTopology();
-            Service service = topology.getService(serviceType);
+            Service service = topology.getService(serviceUuid);
             if (service == null) {
-                log.error("Service " + serviceType +
+                log.error("Service " + serviceUuid +
                         " not found in Topology, unable to update the cluster 
status to Created");
                 return;
             }
@@ -344,13 +344,13 @@ public class TopologyBuilder {
             }
 
             ClusterInstance clusterInstance = new ClusterInstance(alias, 
clusterId, instanceId);
-            clusterInstance.setNetworkPartitionId(networkPartitionId);
+            clusterInstance.setNetworkPartitionUuid(networkPartitionUuid);
             clusterInstance.setPartitionId(partitionId);
             cluster.addInstanceContext(instanceId, clusterInstance);
             TopologyManager.updateTopology(topology);
 
             ClusterInstanceCreatedEvent clusterInstanceCreatedEvent =
-                    new ClusterInstanceCreatedEvent(serviceType, clusterId,
+                    new ClusterInstanceCreatedEvent(serviceUuid, clusterId,
                             clusterInstance);
             clusterInstanceCreatedEvent.setPartitionId(partitionId);
             
TopologyEventPublisher.sendClusterInstanceCreatedEvent(clusterInstanceCreatedEvent);
@@ -381,7 +381,7 @@ public class TopologyBuilder {
         try {
             TopologyManager.acquireWriteLock();
             Cluster cluster = service.removeCluster(ctxt.getClusterId());
-            deploymentPolicy = cluster.getDeploymentPolicyName();
+            deploymentPolicy = cluster.getDeploymentPolicyUuid();
             TopologyManager.updateTopology(topology);
         } finally {
             TopologyManager.releaseWriteLock();

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/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 c2cb4e5..2d858f3 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
@@ -115,8 +115,8 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                TopologyBuilder.handleServiceCreated(cartridgeList);
 
                if (log.isInfoEnabled()) {
-                       log.info(String.format("Successfully added cartridge: 
[cartridge-type] %s [tenant-id] %d ",
-                                              cartridgeConfig.getType(), 
cartridgeConfig.getTenantId()));
+                       log.info(String.format("Successfully added cartridge: 
[cartridge-uuid] %s [cartridge-type] %s [tenant-id] %d ",
+                    cartridgeUuid, cartridgeConfig.getType(), 
cartridgeConfig.getTenantId()));
                }
                return true;
        }
@@ -143,11 +143,11 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             throw new InvalidCartridgeDefinitionException(msg, e);
         }
 
-        String cartridgeType = cartridge.getType();
-        if (cloudControllerContext.getCartridge(cartridgeType) != null) {
-            Cartridge cartridgeToBeRemoved = 
cloudControllerContext.getCartridge(cartridgeType);
+        String cartridgeUuid = cartridge.getUuid();
+        if (cloudControllerContext.getCartridge(cartridgeUuid) != null) {
+            Cartridge cartridgeToBeRemoved = 
cloudControllerContext.getCartridge(cartridgeUuid);
             try {
-                removeCartridgeFromCC(cartridgeToBeRemoved.getType());
+                removeCartridgeFromCC(cartridgeToBeRemoved.getUuid());
             } catch (InvalidCartridgeTypeException ignore) {
             }
             copyIaasProviders(cartridge, cartridgeToBeRemoved);
@@ -161,7 +161,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
         // transaction ends
 
         if (log.isInfoEnabled()) {
-            log.info("Successfully updated cartridge: [cartridge-type] " + 
cartridgeType);
+            log.info("Successfully updated cartridge: [cartridge-type] " + 
cartridgeUuid);
         }
         return true;
     }
@@ -193,38 +193,40 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
 
     }
 
-    public boolean removeCartridge(String cartridgeType) throws 
InvalidCartridgeTypeException {
+    public boolean removeCartridge(String cartridgeUuid) throws 
InvalidCartridgeTypeException {
         //Removing the cartridge from CC
-        Cartridge cartridge = removeCartridgeFromCC(cartridgeType);
+        Cartridge cartridge = removeCartridgeFromCC(cartridgeUuid);
         //removing the cartridge from Topology
         removeCartridgeFromTopology(cartridge);
 
         if (log.isInfoEnabled()) {
-            log.info("Successfully removed cartridge: [cartridge-type] " + 
cartridgeType);
+            log.info(String.format("Successfully removed cartridge: 
[cartridge-uuid] %s [cartridge-type] %s " +
+                    "[tenant-id] %d", cartridge.getUuid(), 
cartridge.getType(), cartridge.getTenantId()));
         }
         return true;
     }
 
-    private Cartridge removeCartridgeFromCC(String cartridgeType) throws 
InvalidCartridgeTypeException {
+    private Cartridge removeCartridgeFromCC(String cartridgeUuid) throws 
InvalidCartridgeTypeException {
         Cartridge cartridge = null;
-        if ((cartridge = 
CloudControllerContext.getInstance().getCartridge(cartridgeType)) != null) {
-            if 
(CloudControllerContext.getInstance().getCartridges().remove(cartridge)) {
+        if ((cartridge = 
CloudControllerContext.getInstance().getCartridge(cartridgeUuid)) != null) {
+            if 
(CloudControllerContext.getInstance().removeCartridge(cartridgeUuid)) {
                 // invalidate partition validation cache
-                
CloudControllerContext.getInstance().removeFromCartridgeTypeToPartitionIds(cartridgeType);
+                
CloudControllerContext.getInstance().removeFromCartridgeTypeToPartitionIds(cartridgeUuid);
 
                 if (log.isDebugEnabled()) {
-                    log.debug("Partition cache invalidated for cartridge " + 
cartridgeType);
+                    log.debug("Partition cache invalidated for cartridge " + 
cartridgeUuid);
                 }
 
                 CloudControllerContext.getInstance().persist();
 
                 if (log.isInfoEnabled()) {
-                    log.info("Successfully removed cartridge: [cartridge-type] 
" + cartridgeType);
+                    log.info(String.format("Successfully removed cartridge: 
[cartridge-uuid] %s [cartridge-type] %s " +
+                            "[tenant-id] %d", cartridge.getUuid(), 
cartridge.getType(), cartridge.getTenantId()));
                 }
                 return cartridge;
             }
         }
-        String msg = "Cartridge not found: [cartridge-type] " + cartridgeType;
+        String msg = "Cartridge not found: [cartridge-type] " + cartridgeUuid;
         log.error(msg);
         throw new InvalidCartridgeTypeException(msg);
     }
@@ -796,6 +798,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
     public Cartridge[] getCartridgesByTenant(int tenantId) {
 
         Collection<Cartridge> allCartridges = 
CloudControllerContext.getInstance().getCartridges();
+        log.info("---------------------------- All cartridges: "+ 
allCartridges);
         List<Cartridge> cartridges = new ArrayList<Cartridge>();
         if (allCartridges == null || allCartridges.size() == 0) {
             log.info("No registered Cartridge found for [tenant-id]" + 
tenantId);
@@ -809,6 +812,8 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                 cartridges.add(cartridge);
             }
         }
+
+        log.info("---------------------------- Cartridges for tenant: "+ 
cartridges);
         return cartridges.toArray(new Cartridge[cartridges.size()]);
     }
 
@@ -988,7 +993,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                     // partition cache hit
                     String provider = partition.getProvider();
                     IaasProvider iaasProvider = 
CloudControllerContext.getInstance()
-                            .getIaasProvider(cartridge.getType(), provider);
+                            .getIaasProvider(cartridge.getUuid(), provider);
                     partitionToIaasProviders.put(partition.getId(), 
iaasProvider);
                     continue;
                 }
@@ -1172,14 +1177,14 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
         return true;
     }
 
-    public boolean createClusterInstance(String serviceType, String clusterId,
+    public boolean createClusterInstance(String serviceUuid, String clusterId,
                                          String alias, String instanceId, 
String partitionId,
-                                         String networkPartitionId) throws 
ClusterInstanceCreationException {
+                                         String networkPartitionUuid) throws 
ClusterInstanceCreationException {
         Lock lock = null;
         try {
             lock = 
CloudControllerContext.getInstance().acquireClusterContextWriteLock();
-            TopologyBuilder.handleClusterInstanceCreated(serviceType, 
clusterId, alias,
-                    instanceId, partitionId, networkPartitionId);
+            TopologyBuilder.handleClusterInstanceCreated(serviceUuid, 
clusterId, alias,
+                    instanceId, partitionId, networkPartitionUuid);
 
             CloudControllerContext.getInstance().persist();
         } finally {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
index 52fbea3..72ae7cc 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
@@ -230,12 +230,12 @@ public class CloudControllerServiceClient {
         return stub.getNetworkPartition(networkPartitionId);
     }
 
-    public void createClusterInstance(String serviceType, String clusterId,
+    public void createClusterInstance(String serviceUuid, String clusterId,
                                       String alias, String instanceId, String 
partitionId,
-                                      String networkPartitionId) throws 
RemoteException {
+                                      String networkPartitionUuid) throws 
RemoteException {
         try {
-            stub.createClusterInstance(serviceType, clusterId, alias,
-                    instanceId, partitionId, networkPartitionId);
+            stub.createClusterInstance(serviceUuid, clusterId, alias,
+                    instanceId, partitionId, networkPartitionUuid);
 
         } catch 
(CloudControllerServiceClusterInstanceCreationExceptionException e) {
             String msg = 
e.getFaultMessage().getClusterInstanceCreationException().getMessage();

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
 
b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
index c42bfc6..0e08bf2 100644
--- 
a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
+++ 
b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java
@@ -405,7 +405,7 @@ public class LoadBalancerCommonTopologyEventReceiver 
extends TopologyEventReceiv
 
     private org.apache.stratos.load.balancer.common.domain.Cluster 
transformCluster(Cluster messagingCluster) {
         org.apache.stratos.load.balancer.common.domain.Cluster cluster =
-                new 
org.apache.stratos.load.balancer.common.domain.Cluster(messagingCluster.getServiceName(),
+                new 
org.apache.stratos.load.balancer.common.domain.Cluster(messagingCluster.getServiceUuid(),
                         messagingCluster.getClusterId());
         cluster.setTenantRange(messagingCluster.getTenantRange());
         if (messagingCluster.getHostNames() != null) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java
index a3f09d2..fbbe0a5 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/application/Application.java
@@ -157,7 +157,7 @@ public class Application extends 
ParentComponent<ApplicationInstance> {
         }
 
         for (Instance instance : getInstanceIdToInstanceContextMap().values()) 
{
-            if (instance.getNetworkPartitionId().equals(networkPartitionId)) {
+            if (instance.getNetworkPartitionUuid().equals(networkPartitionId)) 
{
                 return instance;
             }
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/instance/Instance.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/instance/Instance.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/instance/Instance.java
index 0614c9a..ca32269 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/instance/Instance.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/instance/Instance.java
@@ -38,7 +38,7 @@ public abstract class Instance<T extends LifeCycleState> 
implements Serializable
     //Parent instance id
     private String parentId;
     //Network partition id
-    private String networkPartitionId; //refactor to uuid
+    private String networkPartitionUuid;
     //partition id
     protected String partitionId;
 
@@ -91,12 +91,12 @@ public abstract class Instance<T extends LifeCycleState> 
implements Serializable
         this.parentId = parentId;
     }
 
-    public String getNetworkPartitionId() {
-        return networkPartitionId;
+    public String getNetworkPartitionUuid() {
+        return networkPartitionUuid;
     }
 
-    public void setNetworkPartitionId(String networkPartitionId) {
-        this.networkPartitionId = networkPartitionId;
+    public void setNetworkPartitionUuid(String networkPartitionUuid) {
+        this.networkPartitionUuid = networkPartitionUuid;
     }
 
     public String getPartitionId() {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
index babf38c..647fa89 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
@@ -38,10 +38,10 @@ public class Cluster implements Serializable {
 
     private static final long serialVersionUID = -361960242360176077L;
 
-    private final String serviceName;
+    private final String serviceUuid;
     private final String clusterId;
-    private final String autoscalePolicyName;
-    private final String deploymentPolicyName;
+    private final String autoscalePolicyUuid;
+    private final String deploymentPolicyUuid;
 
     private List<String> hostNames;
     private String tenantRange;
@@ -64,10 +64,10 @@ public class Cluster implements Serializable {
     private List<KubernetesService> kubernetesServices;
 
     public Cluster(Cluster cluster) {
-        this.serviceName = cluster.getServiceName();
+        this.serviceUuid = cluster.getServiceUuid();
         this.clusterId = cluster.getClusterId();
-        this.deploymentPolicyName = cluster.getDeploymentPolicyName();
-        this.autoscalePolicyName = cluster.getAutoscalePolicyName();
+        this.deploymentPolicyUuid = cluster.getDeploymentPolicyUuid();
+        this.autoscalePolicyUuid = cluster.getAutoscalePolicyUuid();
         this.appId = cluster.getAppId();
         this.setHostNames(cluster.getHostNames());
         this.memberMap = cluster.getMemberMap();
@@ -84,10 +84,10 @@ public class Cluster implements Serializable {
 
     public Cluster(String serviceName, String clusterId, String 
deploymentPolicyName,
                    String autoscalePolicyName, String appId) {
-        this.serviceName = serviceName;
+        this.serviceUuid = serviceName;
         this.clusterId = clusterId;
-        this.deploymentPolicyName = deploymentPolicyName;
-        this.autoscalePolicyName = autoscalePolicyName;
+        this.deploymentPolicyUuid = deploymentPolicyName;
+        this.autoscalePolicyUuid = autoscalePolicyName;
         this.setHostNames(new ArrayList<String>());
         this.memberMap = new HashMap<String, Member>();
         this.appId = appId;
@@ -96,8 +96,8 @@ public class Cluster implements Serializable {
         this.kubernetesServices = new ArrayList<KubernetesService>();
     }
 
-    public String getServiceName() {
-        return serviceName;
+    public String getServiceUuid() {
+        return serviceUuid;
     }
 
     public String getClusterId() {
@@ -154,12 +154,12 @@ public class Cluster implements Serializable {
         this.properties = properties;
     }
 
-    public String getAutoscalePolicyName() {
-        return autoscalePolicyName;
+    public String getAutoscalePolicyUuid() {
+        return autoscalePolicyUuid;
     }
 
-    public String getDeploymentPolicyName() {
-        return deploymentPolicyName;
+    public String getDeploymentPolicyUuid() {
+        return deploymentPolicyUuid;
     }
 
     public String getLoadBalanceAlgorithmName() {
@@ -363,8 +363,8 @@ public class Cluster implements Serializable {
     public String toString() {
         return String.format("[serviceName=%s, clusterId=%s, 
autoscalePolicyName=%s, deploymentPolicyName=%s, " +
                         "hostNames=%s, tenantRange=%s, 
loadBalanceAlgorithmName=%s, appId=%s, parentId=%s, " +
-                        "accessUrls=%s, kubernetesServices=%s]", serviceName, 
clusterId, autoscalePolicyName,
-                deploymentPolicyName, hostNames, tenantRange, 
loadBalanceAlgorithmName, appId, parentId,
+                        "accessUrls=%s, kubernetesServices=%s]", serviceUuid, 
clusterId, autoscalePolicyUuid,
+                deploymentPolicyUuid, hostNames, tenantRange, 
loadBalanceAlgorithmName, appId, parentId,
                 accessUrls, kubernetesServices);
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
index 533336f..e79f446 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Topology.java
@@ -60,21 +60,21 @@ public class Topology implements Serializable {
     }
 
     public void removeService(Service service) {
-        this.serviceMap.remove(service.getServiceName());
-        
TopologyLockHierarchy.getInstance().removeTopologyLockForService(service.getServiceName());
+        this.serviceMap.remove(service.getServiceUuid());
+        
TopologyLockHierarchy.getInstance().removeTopologyLockForService(service.getServiceUuid());
     }
 
-    public void removeService(String serviceName) {
-        this.serviceMap.remove(serviceName);
-        
TopologyLockHierarchy.getInstance().removeTopologyLockForService(serviceName);
+    public void removeService(String serviceUuid) {
+        this.serviceMap.remove(serviceUuid);
+        
TopologyLockHierarchy.getInstance().removeTopologyLockForService(serviceUuid);
     }
 
     public Service getService(String serviceUuid) {
         return this.serviceMap.get(serviceUuid);
     }
 
-    public boolean serviceExists(String serviceName) {
-        return this.serviceMap.containsKey(serviceName);
+    public boolean serviceExists(String serviceUuid) {
+        return this.serviceMap.containsKey(serviceUuid);
     }
 
     public void addToCluterMap(Cluster cluster) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
index 8cfdd83..a554c8f 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
@@ -61,14 +61,14 @@ public class TopologyLockHierarchy {
         return topologyLockHierarchy;
     }
 
-    public synchronized TopologyLock getTopologyLockForService(String 
serviceName, boolean forceCreationIfNotFound) {
-        TopologyLock topologyLock = 
serviceNameToTopologyLockMap.get(serviceName);
+    public synchronized TopologyLock getTopologyLockForService(String 
serviceUuid, boolean forceCreationIfNotFound) {
+        TopologyLock topologyLock = 
serviceNameToTopologyLockMap.get(serviceUuid);
         if (topologyLock == null && forceCreationIfNotFound) {
             topologyLock = new TopologyLock();
             if (log.isDebugEnabled()) {
-                log.debug("Lock created for topology service: [service-id] " + 
serviceName);
+                log.debug("Lock created for topology service: [service-uuid] " 
+ serviceUuid);
             }
-            serviceNameToTopologyLockMap.put(serviceName, topologyLock);
+            serviceNameToTopologyLockMap.put(serviceUuid, topologyLock);
 
         }
         return topologyLock;

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterCreatedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterCreatedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterCreatedEvent.java
index 2befa89..2c4139b 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterCreatedEvent.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterCreatedEvent.java
@@ -37,7 +37,7 @@ public class ClusterCreatedEvent extends TopologyEvent 
implements Serializable {
 
     @Override
     public String toString() {
-        return "ClusterCreatedEvent [serviceName=" + cluster.getServiceName() 
+ ", " +
+        return "ClusterCreatedEvent [serviceName=" + cluster.getServiceUuid() 
+ ", " +
                 "application=" + cluster.getAppId() + " , cluster= " + 
cluster.getClusterId() + " ]";
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
index 928119f..61b9d67 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
@@ -26,27 +26,27 @@ import org.apache.stratos.messaging.event.Event;
  */
 public class ClusterInstanceCreatedEvent extends Event {
 
-    private final String serviceName;
+    private final String serviceUuid;
     private final String clusterId;
     private String partitionId;
     private String networkPartitionId;
     private ClusterInstance clusterInstance;
 
 
-    public ClusterInstanceCreatedEvent(String serviceName, String clusterId,
+    public ClusterInstanceCreatedEvent(String serviceUuid, String clusterId,
                                        ClusterInstance clusterInstance) {
-        this.serviceName = serviceName;
+        this.serviceUuid = serviceUuid;
         this.clusterId = clusterId;
         this.clusterInstance = clusterInstance;
     }
 
-    public String getServiceName() {
-        return serviceName;
+    public String getServiceUuid() {
+        return serviceUuid;
     }
 
     @Override
     public String toString() {
-        return "ClusterInstanceCreatedEvent [serviceName=" + serviceName + ", 
clusterStatus=" +
+        return "ClusterInstanceCreatedEvent [serviceName=" + serviceUuid + ", 
clusterStatus=" +
                 "]";
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
index 314a915..9376fd7 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
@@ -96,7 +96,7 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
 
         // check if an Application instance with same name exists in 
applications instance
         if (null != applications.getApplication(event.getApplicationId()).
-                
getInstanceByNetworkPartitionId(applicationInstance.getNetworkPartitionId())) {
+                
getInstanceByNetworkPartitionId(applicationInstance.getNetworkPartitionUuid())) 
{
 
             log.warn("Application instance with id [ " + 
applicationInstance.getInstanceId() + " ] already exists");
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ApplicationClustersCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ApplicationClustersCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ApplicationClustersCreatedMessageProcessor.java
index 374ab0f..2ae7e29 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ApplicationClustersCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ApplicationClustersCreatedMessageProcessor.java
@@ -73,13 +73,13 @@ public class ApplicationClustersCreatedMessageProcessor 
extends MessageProcessor
         List<Cluster> clusters = event.getClusterList();
 
         for (Cluster cluster : clusters) {
-            String serviceName = cluster.getServiceName();
+            String serviceUuid = cluster.getServiceUuid();
             String clusterId = cluster.getClusterId();
-            TopologyUpdater.acquireWriteLockForService(serviceName);
+            TopologyUpdater.acquireWriteLockForService(serviceUuid);
             try {
 
                 // Apply service filter
-                if (TopologyServiceFilter.apply(serviceName)) {
+                if (TopologyServiceFilter.apply(serviceUuid)) {
                     continue;
                 }
 
@@ -89,18 +89,18 @@ public class ApplicationClustersCreatedMessageProcessor 
extends MessageProcessor
                 }
 
                 // Validate event against the existing topology
-                Service service = topology.getService(serviceName);
+                Service service = topology.getService(serviceUuid);
                 if (service == null) {
                     if (log.isWarnEnabled()) {
                         log.warn(String.format("Service does not exist: 
[service] %s",
-                                serviceName));
+                                serviceUuid));
                     }
                     return false;
                 }
                 if (service.clusterExists(clusterId)) {
                     if (log.isDebugEnabled()) {
                         log.debug(String.format("Cluster already exists in 
service: [service] %s " +
-                                        "[cluster] %s", serviceName,
+                                        "[cluster] %s", serviceUuid,
                                 clusterId));
                     }
                 } else {
@@ -115,7 +115,7 @@ public class ApplicationClustersCreatedMessageProcessor 
extends MessageProcessor
                 }
 
             } finally {
-                TopologyUpdater.releaseWriteLockForService(serviceName);
+                TopologyUpdater.releaseWriteLockForService(serviceUuid);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java
index 036fe19..8c415db 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java
@@ -52,7 +52,7 @@ public class ClusterCreatedMessageProcessor extends 
MessageProcessor {
 
             // Parse complete message and build event
             ClusterCreatedEvent event = (ClusterCreatedEvent) 
MessagingUtil.jsonToObject(message, ClusterCreatedEvent.class);
-            String serviceName = event.getCluster().getServiceName();
+            String serviceName = event.getCluster().getServiceUuid();
             TopologyUpdater.acquireWriteLockForService(serviceName);
             try {
                 return doProcess(event, topology);
@@ -73,7 +73,7 @@ public class ClusterCreatedMessageProcessor extends 
MessageProcessor {
 
     private boolean doProcess(ClusterCreatedEvent event, Topology topology) {
         Cluster cluster = event.getCluster();
-        String serviceName = cluster.getServiceName();
+        String serviceName = cluster.getServiceUuid();
         String clusterId = cluster.getClusterId();
 
         // Apply service filter

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
index d7e4606..08ceb19 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
@@ -55,12 +55,12 @@ public class ClusterInstanceCreatedMessageProcessor extends 
MessageProcessor {
             ClusterInstanceCreatedEvent event = (ClusterInstanceCreatedEvent) 
MessagingUtil.
                     jsonToObject(message, ClusterInstanceCreatedEvent.class);
 
-            TopologyUpdater.acquireWriteLockForService(event.getServiceName());
+            TopologyUpdater.acquireWriteLockForService(event.getServiceUuid());
             try {
                 return doProcess(event, topology);
 
             } finally {
-                
TopologyUpdater.releaseWriteLockForService(event.getServiceName());
+                
TopologyUpdater.releaseWriteLockForService(event.getServiceUuid());
             }
 
         } else {
@@ -75,7 +75,7 @@ public class ClusterInstanceCreatedMessageProcessor extends 
MessageProcessor {
 
     private boolean doProcess(ClusterInstanceCreatedEvent event, Topology 
topology) {
 
-        String serviceName = event.getServiceName();
+        String serviceName = event.getServiceUuid();
         String clusterId = event.getClusterId();
 
         // Apply service filter
@@ -89,11 +89,11 @@ public class ClusterInstanceCreatedMessageProcessor extends 
MessageProcessor {
         }
 
         // Validate event against the existing topology
-        Service service = topology.getService(event.getServiceName());
+        Service service = topology.getService(event.getServiceUuid());
         if (service == null) {
             if (log.isWarnEnabled()) {
                 log.warn(String.format("Service does not exist: [service] %s",
-                        event.getServiceName()));
+                        event.getServiceUuid()));
             }
             return false;
         }
@@ -101,7 +101,7 @@ public class ClusterInstanceCreatedMessageProcessor extends 
MessageProcessor {
 
         if (cluster == null) {
             if (log.isDebugEnabled()) {
-                log.debug(String.format("Cluster not exists in service: 
[service] %s [cluster] %s", event.getServiceName(),
+                log.debug(String.format("Cluster not exists in service: 
[service] %s [cluster] %s", event.getServiceUuid(),
                         event.getClusterId()));
             }
             return false;
@@ -111,7 +111,7 @@ public class ClusterInstanceCreatedMessageProcessor extends 
MessageProcessor {
             if (cluster.getInstanceContexts(clusterInstance.getInstanceId()) 
!= null) {
                 if (log.isDebugEnabled()) {
                     log.debug(String.format("Cluster Instance already exists 
in service: " +
-                                    "[service] %s [cluster] %s [Instance] %s", 
event.getServiceName(),
+                                    "[service] %s [cluster] %s [Instance] %s", 
event.getServiceUuid(),
                             event.getClusterId(), 
clusterInstance.getInstanceId()));
                 }
             } else {

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
index d7ab46b..5ab2cf5 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
@@ -108,21 +108,21 @@ public class TopologyUpdater {
     /**
      * Acquires write lock for a Service
      *
-     * @param serviceName service name to acquire write lock
+     * @param serviceUuid service uuid to acquire write lock
      */
-    public static void acquireWriteLockForService(String serviceName) {
+    public static void acquireWriteLockForService(String serviceUuid) {
 
         // acquire read lock for all Applications
         TopologyManager.acquireReadLockForServices();
 
-        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName, true);
+        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceUuid, true);
         if (topologyServiceLock == null) {
-            handleLockNotFound("Topology lock not found for Service " + 
serviceName);
+            handleLockNotFound("Topology lock not found for Service " + 
serviceUuid);
 
         } else {
             topologyServiceLock.acquireWriteLock();
             if (log.isDebugEnabled()) {
-                log.debug("Write lock acquired for Service " + serviceName);
+                log.debug("Write lock acquired for Service " + serviceUuid);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/5dcac925/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 866144e..35e11bf 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
@@ -258,7 +258,7 @@ public class StratosApiV41Utils {
             CloudControllerServiceInvalidCartridgeTypeExceptionException {
 
         CloudControllerServiceClient cloudControllerServiceClient = 
getCloudControllerServiceClient();
-        Cartridge cartridge= 
cloudControllerServiceClient.getCartridgeByTenant(cartridgeType,tenantId);
+        Cartridge cartridge= 
cloudControllerServiceClient.getCartridgeByTenant(cartridgeType, tenantId);
 
         if (log.isDebugEnabled()) {
             log.debug(String.format("Removing cartridge: [cartridge-uuid] %s 
[cartridge-type] %s [tenant-id] %d",
@@ -275,9 +275,9 @@ public class StratosApiV41Utils {
 
         // Validate whether cartridge can be removed
         if (!smServiceClient.canCartridgeBeRemoved(cartridge.getUuid())) {
-            String message = String.format("Cannot remove cartridge : 
[cartridge-uuid] %s [cartridge-type] %s [tenant-id] %d",
-                    cartridge.getUuid(), cartridgeType,tenantId + "since it is 
used in another cartridge group or an " +
-                            "application");
+            String message = String.format("Cannot remove cartridge : 
[cartridge-uuid] %s [cartridge-type] %s " +
+                            "[tenant-id] %d since it is used in another 
cartridge group or an application",
+                    cartridge.getUuid(), cartridgeType, tenantId);
             log.error(message);
             throw new RestAPIException(message);
         }
@@ -294,7 +294,7 @@ public class StratosApiV41Utils {
      *
      * @param filter               filter
      * @param criteria             criteria
-     * @param configurationContext Configuration Contex
+     * @param configurationContext Configuration Context
      * @return List of cartridges matches filter
      * @throws RestAPIException
      */

Reply via email to