You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/11/02 16:31:15 UTC

[34/50] [abbrv] stratos git commit: Revert "Merge with tenant-isolation branch"

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 5e992ae..18a6956 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -48,7 +48,6 @@ import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
 import org.apache.stratos.autoscaler.pojo.policy.deployment.ApplicationPolicy;
 import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
 import org.apache.stratos.autoscaler.registry.RegistryManager;
-import org.apache.stratos.cloud.controller.stub.domain.NetworkPartition;
 import org.apache.stratos.common.Properties;
 import org.apache.stratos.common.Property;
 import org.apache.stratos.common.client.CloudControllerServiceClient;
@@ -125,7 +124,7 @@ public class AutoscalerUtil {
             try {
                 Topology topology = TopologyManager.getTopology();
                 if (topology != null) {
-                    Service service = topology.getService(holder.getServiceUuid());
+                    Service service = topology.getService(holder.getServiceType());
                     if (service != null) {
                         //If one cluster of the application presents,
                         // then we can assume that all there clusters are there
@@ -260,65 +259,6 @@ public class AutoscalerUtil {
         return toCommonProperties(properties);
     }
 
-
-    private class ApplicationMonitorAdder implements Runnable {
-        private String applicationId;
-
-        public ApplicationMonitorAdder(String applicationId) {
-            this.applicationId = applicationId;
-        }
-
-        public void run() {
-            long startTime = System.currentTimeMillis();
-            long endTime = startTime;
-            int retries = 5;
-            boolean success = false;
-            ApplicationMonitor applicationMonitor = null;
-            while (!success && retries != 0) {
-
-                try {
-                    startTime = System.currentTimeMillis();
-                    log.info("Starting monitor: [application] " + applicationId);
-                    try {
-                        applicationMonitor = MonitorFactory.getApplicationMonitor(applicationId);
-                    } catch (PolicyValidationException e) {
-                        String msg = "Monitor creation failed: [application] " + applicationId;
-                        log.warn(msg, e);
-                        retries--;
-                    }
-                    success = true;
-                    endTime = System.currentTimeMillis();
-                } catch (DependencyBuilderException e) {
-                    String msg = "Monitor creation failed: [application] " + applicationId;
-                    log.warn(msg, e);
-                    retries--;
-                } catch (TopologyInConsistentException e) {
-                    String msg = "Monitor creation failed: [application] " + applicationId;
-                    log.warn(msg, e);
-                    retries--;
-                }
-            }
-
-            if (applicationMonitor == null) {
-                String msg = "Monitor creation failed, even after retrying for 5 times: "
-                        + "[application] " + applicationId;
-                log.error(msg);
-                throw new RuntimeException(msg);
-            }
-            AutoscalerContext autoscalerContext = AutoscalerContext.getInstance();
-            autoscalerContext.removeApplicationPendingMonitor(applicationId);
-            autoscalerContext.removeAppMonitor(applicationId);
-            autoscalerContext.addAppMonitor(applicationMonitor);
-
-            long startupTime = ((endTime - startTime) / 1000);
-            if (log.isInfoEnabled()) {
-                log.info(String.format("Monitor started successfully: [application] %s [dependents] %s " +
-                                "[startup-time] %d seconds", applicationMonitor.getId(),
-                        applicationMonitor.getStartupDependencyTree(), startupTime));
-            }
-        }
-    }
-
     public static Monitor.MonitorType findMonitorType(ApplicationChildContext context) {
         if (context instanceof GroupChildContext) {
             return Monitor.MonitorType.Group;
@@ -378,8 +318,8 @@ public class AutoscalerUtil {
                 if (deploymentPolicy != null) {
                     for (NetworkPartitionRef networkPartition : deploymentPolicy.getNetworkPartitionRefs()) {
                         if (networkPartition != null) {
-                            if (!networkPartitionIds.contains(networkPartition.getUuid())) {
-                                networkPartitionIds.add(networkPartition.getUuid());
+                            if (!networkPartitionIds.contains(networkPartition.getId())) {
+                                networkPartitionIds.add(networkPartition.getId());
                             }
                         }
                     }
@@ -396,16 +336,16 @@ public class AutoscalerUtil {
     /**
      * Get deployment policy ids referred in an application.
      *
-     * @param applicationUuid the application uuid
+     * @param applicationId the application id
      * @return list of deployment policy ids
      */
-    public static List<String> getDeploymentPolicyIdsReferredInApplication(String applicationUuid) {
+    public static List<String> getDeploymentPolicyIdsReferredInApplication(String applicationId) {
 
-        if (applicationUuid == null || StringUtils.isBlank(applicationUuid)) {
+        if (applicationId == null || StringUtils.isBlank(applicationId)) {
             return null;
         }
 
-        Application application = ApplicationHolder.getApplications().getApplication(applicationUuid);
+        Application application = ApplicationHolder.getApplications().getApplication(applicationId);
         if (application == null) {
             return null;
         }
@@ -418,7 +358,7 @@ public class AutoscalerUtil {
         List<String> deploymentPolicyIds = new ArrayList<String>();
 
         for (Map.Entry<String, String> entry : aliasToDeploymentPolicyIdMap.entrySet()) {
-            if (!deploymentPolicyIds.contains(entry.getValue())&& entry.getValue()!=null) {
+            if (!deploymentPolicyIds.contains(entry.getValue())) {
                 deploymentPolicyIds.add(entry.getValue());
             }
         }
@@ -497,7 +437,7 @@ public class AutoscalerUtil {
                 if (cartridgeContext != null) {
                     aliasToDeploymentPolicyIdMap.put(
                             cartridgeContext.getSubscribableInfoContext().getAlias(),
-                            cartridgeContext.getSubscribableInfoContext().getDeploymentPolicyUuid());
+                            cartridgeContext.getSubscribableInfoContext().getDeploymentPolicy());
                 }
             }
         }
@@ -515,16 +455,16 @@ public class AutoscalerUtil {
                         getAliasToDeployloymentPolicyIdMapFromChildGroupContexts(aliasToDeploymentPolicyIdMap, groupContext.getGroupContexts());
                     } else {
                         // if group have a deployment policy, it is the same for all the children
-                        String deploymentPolicyUuid = groupContext.getDeploymentPolicyUuid();
-                        aliasToDeploymentPolicyIdMap.put(groupContext.getAlias(), deploymentPolicyUuid);
+                        String deploymentPolicyId = groupContext.getDeploymentPolicy();
+                        aliasToDeploymentPolicyIdMap.put(groupContext.getAlias(), deploymentPolicyId);
                         if (groupContext.getCartridgeContexts() != null && groupContext.getCartridgeContexts().length != 0) {
                             setDeploymentPolicyIdToChildCartridgeContexts(aliasToDeploymentPolicyIdMap,
-                                    deploymentPolicyUuid,
+                                    deploymentPolicyId,
                                     groupContext.getCartridgeContexts());
                         }
                         if (groupContext.getGroupContexts() != null && groupContext.getGroupContexts().length != 0) {
                             setDeploymentPolicyIdToChildGroupContexts(aliasToDeploymentPolicyIdMap,
-                                    deploymentPolicyUuid,
+                                    deploymentPolicyId,
                                     groupContext.getGroupContexts());
                         }
 
@@ -587,7 +527,7 @@ public class AutoscalerUtil {
         }
 
         // application policy id can't be null
-        if (applicationPolicy.getUuid() == null || StringUtils.isBlank(applicationPolicy.getUuid())) {
+        if (applicationPolicy.getId() == null || StringUtils.isBlank(applicationPolicy.getId())) {
             String msg = "Invalid Application Policy: Application policy id null or empty";
             log.error(msg);
             throw new InvalidApplicationPolicyException(msg);
@@ -635,20 +575,10 @@ public class AutoscalerUtil {
             }
 
             // network partitions should be added already
-            NetworkPartition[] networkPartitions = CloudControllerServiceClient.getInstance().getNetworkPartitions();
-            NetworkPartition networkPartitionForTenant = null;
-            if (networkPartitions != null) {
-                for (NetworkPartition networkPartition : networkPartitions) {
-                    if (applicationPolicy.getTenantId() == networkPartition.getTenantId() && networkPartition.getId()
-                            .equals(networkPartitionId)) {
-                        networkPartitionForTenant = networkPartition;
-                    }
-                }
-            }
-            if (networkPartitionForTenant == null) {
+            if (null == CloudControllerServiceClient.getInstance().
+                    getNetworkPartition(networkPartitionId)) {
                 String msg = String.format("Network partition not found: [network-partition-id]  %s in " +
-                        "[application-policy-uuid] %s [application-policy-id] %s", networkPartitionId,
-                        applicationPolicy.getUuid(), applicationPolicy.getId());
+                        "[application-policy-id] %s", networkPartitionId, applicationPolicy.getId());
                 log.error(msg);
                 throw new InvalidApplicationPolicyException(msg);
             }
@@ -665,14 +595,11 @@ public class AutoscalerUtil {
                 if (networkPartitionGroupsPropertyValue != null) {
                     String[] networkPartitionGroups = networkPartitionGroupsPropertyValue.
                             split(StratosConstants.APPLICATION_POLICY_NETWORK_PARTITION_GROUPS_SPLITTER);
-                    String[] networkPartitionGroupsUuid=null;
                     if (networkPartitionGroups != null) {
-                        int i=0;
                         for (String networkPartitionIdsString : networkPartitionGroups) {
                             networkPartitionIds = networkPartitionIdsString.
                                     split(StratosConstants.APPLICATION_POLICY_NETWORK_PARTITIONS_SPLITTER);
-                             if (networkPartitionIds != null) {
-                                 networkPartitionGroupsUuid=new String[networkPartitionGroups.length];
+                            if (networkPartitionIds != null) {
                                 for (String networkPartitionId : networkPartitionIds) {
                                     // network-partition-id can't be null or empty
                                     if (null == networkPartitionId || networkPartitionId.isEmpty()) {
@@ -684,58 +611,53 @@ public class AutoscalerUtil {
                                     }
 
                                     // network partitions should be added already
-                                    NetworkPartition networkPartition=    CloudControllerServiceClient.getInstance().
-                                            getNetworkPartitionByTenant(networkPartitionId,applicationPolicy.getTenantId());
-                                    if (null ==networkPartition) {
+                                    if (null == CloudControllerServiceClient.getInstance().
+                                            getNetworkPartition(networkPartitionId)) {
                                         String msg = String.format("Invalid Application Policy: "
                                                 + "Network partition not found for " +
                                                 "[network-partition-id] : %s", networkPartitionId);
                                         log.error(msg);
                                         throw new InvalidApplicationPolicyException(msg);
                                     }
-                                    else{
-                                         networkPartitionGroupsUuid[i] =networkPartition.getUuid();
-                                    }
                                 }
                             }
                         }
                         // populating network partition groups in application policy
-                        applicationPolicy.setNetworkPartitionGroups(networkPartitionGroupsUuid);
+                        applicationPolicy.setNetworkPartitionGroups(networkPartitionGroups);
                     }
                 }
             }
         }
     }
 
-
     /**
      * Validates an application policy against the application
      *
-     * @param applicationUuid
-     * @param applicationPolicyUuid
+     * @param applicationId
+     * @param applicationPolicyId
      * @throws ApplicatioinPolicyNotExistsException
      * @throws InvalidApplicationPolicyException
      */
-    public static void validateApplicationPolicyAgainstApplication(String applicationUuid, String applicationPolicyUuid)
+    public static void validateApplicationPolicyAgainstApplication(String applicationId, String applicationPolicyId)
             throws ApplicatioinPolicyNotExistsException, InvalidApplicationPolicyException {
 
-        ApplicationPolicy applicationPolicy = PolicyManager.getInstance().getApplicationPolicyByUuid(applicationPolicyUuid);
+        ApplicationPolicy applicationPolicy = PolicyManager.getInstance().getApplicationPolicy(applicationPolicyId);
         if (applicationPolicy == null) {
-            String msg = String.format("Application Policy not exists for [application-policy-id] %s", applicationPolicyUuid);
+            String msg = String.format("Application Policy not exists for [application-policy-id] %s", applicationPolicyId);
             log.error(msg);
             throw new ApplicatioinPolicyNotExistsException(msg);
         }
 
-        String[] networkPartitionUuids = applicationPolicy.getNetworkPartitionsUuid();
+        String[] networkPartitionIds = applicationPolicy.getNetworkPartitions();
 
-        for (String applicationPolicyNetworkPartitionreference : networkPartitionUuids) {
-            String networkPartitionUuid = applicationPolicyNetworkPartitionreference;
+        for (String applicationPolicyNetworkPartitionerence : networkPartitionIds) {
+            String networkPartitionId = applicationPolicyNetworkPartitionerence;
             // validate application policy against the given application
-            if (!isAppUsingNetworkPartitionId(applicationUuid, networkPartitionUuid)) {
+            if (!isAppUsingNetworkPartitionId(applicationId, networkPartitionId)) {
                 String msg = String.format("Invalid Application Policy: "
                                 + "Network partition [network-partition-id] %s is not used in application [application-id] %s. "
                                 + "Hence application bursting will fail. Either remove %s from application policy or make all the cartridges available in %s",
-                        networkPartitionUuid, applicationUuid, networkPartitionUuid, networkPartitionUuid);
+                        networkPartitionId, applicationId, networkPartitionId, networkPartitionId);
                 log.error(msg);
                 throw new InvalidApplicationPolicyException(msg);
             }
@@ -745,12 +667,12 @@ public class AutoscalerUtil {
     /**
      * Validate whether all the deployment policies used in the application are using the same network partitions of Application policy
      */
-    private static boolean isAppUsingNetworkPartitionId(String applicationUuid, String networkPartitionUuid) {
-        if (applicationUuid == null || StringUtils.isBlank(applicationUuid)
-                || networkPartitionUuid == null || StringUtils.isBlank(networkPartitionUuid)) {
+    private static boolean isAppUsingNetworkPartitionId(String applicationId, String networkPartitionId) {
+        if (applicationId == null || StringUtils.isBlank(applicationId)
+                || networkPartitionId == null || StringUtils.isBlank(networkPartitionId)) {
             return false;
         }
-        List<String> deploymentPolicyIdsReferredInApplication = AutoscalerUtil.getDeploymentPolicyIdsReferredInApplication(applicationUuid);
+        List<String> deploymentPolicyIdsReferredInApplication = AutoscalerUtil.getDeploymentPolicyIdsReferredInApplication(applicationId);
         if (deploymentPolicyIdsReferredInApplication == null) {
             return false;
         }
@@ -762,8 +684,8 @@ public class AutoscalerUtil {
                 if (deploymentPolicyInApp != null) {
                     for (NetworkPartitionRef networkPartitionOfDeploymentPolicy : deploymentPolicyInApp.getNetworkPartitionRefs()) {
                         if (networkPartitionOfDeploymentPolicy != null) {
-                            if (networkPartitionOfDeploymentPolicy != null && networkPartitionOfDeploymentPolicy.getUuid().
-                                    equals(networkPartitionUuid)) {
+                            if (networkPartitionOfDeploymentPolicy != null && networkPartitionOfDeploymentPolicy.getId().
+                                    equals(networkPartitionId)) {
                                 referencesOfNetworkPartition++;
                             }
                         }
@@ -1033,5 +955,62 @@ public class AutoscalerUtil {
         private static final AutoscalerUtil INSTANCE = new AutoscalerUtil();
     }
 
+    private class ApplicationMonitorAdder implements Runnable {
+        private String applicationId;
+
+        public ApplicationMonitorAdder(String applicationId) {
+            this.applicationId = applicationId;
+        }
+
+        public void run() {
+            long startTime = System.currentTimeMillis();
+            long endTime = startTime;
+            int retries = 5;
+            boolean success = false;
+            ApplicationMonitor applicationMonitor = null;
+            while (!success && retries != 0) {
+
+                try {
+                    startTime = System.currentTimeMillis();
+                    log.info("Starting monitor: [application] " + applicationId);
+                    try {
+                        applicationMonitor = MonitorFactory.getApplicationMonitor(applicationId);
+                    } catch (PolicyValidationException e) {
+                        String msg = "Monitor creation failed: [application] " + applicationId;
+                        log.warn(msg, e);
+                        retries--;
+                    }
+                    success = true;
+                    endTime = System.currentTimeMillis();
+                } catch (DependencyBuilderException e) {
+                    String msg = "Monitor creation failed: [application] " + applicationId;
+                    log.warn(msg, e);
+                    retries--;
+                } catch (TopologyInConsistentException e) {
+                    String msg = "Monitor creation failed: [application] " + applicationId;
+                    log.warn(msg, e);
+                    retries--;
+                }
+            }
+
+            if (applicationMonitor == null) {
+                String msg = "Monitor creation failed, even after retrying for 5 times: "
+                        + "[application] " + applicationId;
+                log.error(msg);
+                throw new RuntimeException(msg);
+            }
+            AutoscalerContext autoscalerContext = AutoscalerContext.getInstance();
+            autoscalerContext.removeApplicationPendingMonitor(applicationId);
+            autoscalerContext.removeAppMonitor(applicationId);
+            autoscalerContext.addAppMonitor(applicationMonitor);
+
+            long startupTime = ((endTime - startTime) / 1000);
+            if (log.isInfoEnabled()) {
+                log.info(String.format("Monitor started successfully: [application] %s [dependents] %s " +
+                                "[startup-time] %d seconds", applicationMonitor.getId(),
+                        applicationMonitor.getStartupDependencyTree(), startupTime));
+            }
+        }
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java
index 60b2fae..c676ed1 100644
--- a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java
+++ b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java
@@ -19,9 +19,16 @@
 
 package org.apache.stratos.autoscaler;
 
+import org.apache.stratos.autoscaler.applications.pojo.*;
+import org.apache.stratos.autoscaler.context.AutoscalerContext;
 import org.apache.stratos.autoscaler.util.AutoscalerUtil;
+import org.apache.stratos.autoscaler.util.ServiceReferenceHolder;
+import org.apache.stratos.common.clustering.impl.HazelcastDistributedObjectProvider;
 import org.junit.Test;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import static org.junit.Assert.assertEquals;
 
 /**
@@ -69,4 +76,61 @@ public class AutoscalerUtilTest {
         assertEquals(tenantRange, "*");
     }
 
+    @Test
+    public void testRemovalOfAutoscalingPolicy() {
+        List<CartridgeContext> cartridgeContexts = new ArrayList<CartridgeContext>();
+        for (int i = 0; i < 12; i++) {
+            CartridgeContext cartridgeContext = new CartridgeContext();
+            SubscribableInfoContext subscribableContext = new SubscribableInfoContext();
+            subscribableContext.setAlias("cart-" + i);
+            subscribableContext.setDeploymentPolicy("dep-" + i);
+            subscribableContext.setAutoscalingPolicy("auto-" + i);
+            cartridgeContext.setSubscribableInfoContext(subscribableContext);
+            cartridgeContexts.add(cartridgeContext);
+        }
+        List<GroupContext> groupContextList = new ArrayList<GroupContext>();
+        for (int i = 0; i < 5; i++) {
+            GroupContext groupContext = new GroupContext();
+            groupContext.setAlias("group-" + i);
+            CartridgeContext[] cartridgeContexts1 = new CartridgeContext[2];
+            cartridgeContexts1[0] = cartridgeContexts.get(i);
+            cartridgeContexts1[1] = cartridgeContexts.get(i + 5);
+
+            groupContext.setCartridgeContexts(cartridgeContexts1);
+            groupContextList.add(groupContext);
+        }
+
+        //Application-1
+        ApplicationContext applicationContext = new ApplicationContext();
+        applicationContext.setApplicationId("application-1");
+        ComponentContext componentContext = new ComponentContext();
+        CartridgeContext[] cartridgeContexts1 = new CartridgeContext[2];
+        cartridgeContexts1[0] = cartridgeContexts.get(10);
+        cartridgeContexts1[1] = cartridgeContexts.get(11);
+        componentContext.setCartridgeContexts(cartridgeContexts1);
+        GroupContext[] groupContexts = new GroupContext[groupContextList.size()];
+        componentContext.setGroupContexts(groupContextList.toArray(groupContexts));
+        applicationContext.setComponents(componentContext);
+
+        ServiceReferenceHolder holder = ServiceReferenceHolder.getInstance();
+        holder.setDistributedObjectProvider(new HazelcastDistributedObjectProvider());
+
+        AutoscalerContext.getInstance().addApplicationContext(applicationContext);
+
+
+        boolean canRemove;
+
+        canRemove = AutoscalerUtil.removableAutoScalerPolicy("test");
+        assertEquals(canRemove, true);
+
+        for (int i = 0; i < 12; i++) {
+            canRemove = AutoscalerUtil.removableAutoScalerPolicy("auto-" + i);
+            assertEquals(canRemove, false);
+
+        }
+    }
+
+    public void testRemovalOfDeploymentPolicy() {
+
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java
index 5ab2ebf..74c5156 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java
@@ -51,8 +51,7 @@ public class HealthStatisticsNotifier implements Runnable {
             File pluginFile = new File(pluginFileName);
             if ((pluginFile != null)
                     && (pluginFile.exists())) {
-                List<Class> pluginClass = PluginLoader.loadPluginClassesFromJar(pluginFile,
-                        IHealthStatisticsReader.class);
+                List<Class> pluginClass = PluginLoader.loadPluginClassesFromJar(pluginFile, IHealthStatisticsReader.class);
                 if (!pluginClass.isEmpty()) {
                     try {
                         log.trace("Instantiating new instance of plugin type " + pluginClass);
@@ -64,8 +63,7 @@ public class HealthStatisticsNotifier implements Runnable {
                     }
                 }
             } else {
-                log.error("Plugin not found or malformed: " + pluginFileName + ((pluginFile == null) ? " NULL" :
-                        "Doesn't exist"));
+                log.error("Plugin not found or malformed: " + pluginFileName + ((pluginFile == null) ? " NULL" : "Doesn't exist"));
             }
         }
         if (this.statsReader == null) {
@@ -97,7 +95,7 @@ public class HealthStatisticsNotifier implements Runnable {
                         if (log.isDebugEnabled()) {
                             log.debug(String.format("Publishing memory consumption: %f", stats.getMemoryUsage()));
                         }
-                        statsPublisher.publish(System.currentTimeMillis(),
+                        statsPublisher.publish(
                                 CartridgeAgentConfiguration.getInstance().getClusterId(),
                                 CartridgeAgentConfiguration.getInstance().getClusterInstanceId(),
                                 CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(),
@@ -110,7 +108,7 @@ public class HealthStatisticsNotifier implements Runnable {
                         if (log.isDebugEnabled()) {
                             log.debug(String.format("Publishing load average: %f", stats.getProcessorUsage()));
                         }
-                        statsPublisher.publish(System.currentTimeMillis(),
+                        statsPublisher.publish(
                                 CartridgeAgentConfiguration.getInstance().getClusterId(),
                                 CartridgeAgentConfiguration.getInstance().getClusterInstanceId(),
                                 CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(),

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java b/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java
index b5a2be8..7d50672 100644
--- a/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java
+++ b/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java
@@ -77,9 +77,8 @@ public class JavaCartridgeAgentTest {
     private static final String PARTITION_ID = "partition-1";
     private static final String TENANT_ID = "-1234";
     private static final String SERVICE_NAME = "php";
-    public static final String AGENT_NAME = "apache-stratos-cartridge-agent-4.1.0-SNAPSHOT";
-	private static final String CARTRIDGE_UUID ="uuid" ;
-	private static HashMap<String, Executor> executorList;
+    public static final String AGENT_NAME = "apache-stratos-cartridge-agent-4.2.0-SNAPSHOT";
+    private static HashMap<String, Executor> executorList;
     private static ArrayList<ServerSocket> serverSocketList;
     private final ArtifactUpdatedEvent artifactUpdatedEvent;
     private final Boolean expectedResult;
@@ -250,7 +249,7 @@ public class JavaCartridgeAgentTest {
             }
 
             log.info("Copying agent jar");
-            String agentJar = "org.apache.stratos.cartridge.agent-4.1.0-SNAPSHOT.jar";
+            String agentJar = "org.apache.stratos.cartridge.agent-4.2.0-SNAPSHOT.jar";
             String agentJarSource = getResourcesFolderPath() + "/../" + agentJar;
             String agentJarDest = agentHome.getCanonicalPath() + "/lib/" + agentJar;
             FileUtils.copyFile(new File(agentJarSource), new File(agentJarDest));
@@ -443,7 +442,7 @@ public class JavaCartridgeAgentTest {
      */
     private Topology createTestTopology() {
         Topology topology = new Topology();
-        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant,CARTRIDGE_UUID);
+        Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant);
         topology.addService(service);
 
         Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME,

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
index 310b4d7..e1800ff 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
@@ -46,7 +46,7 @@ public class PartitionValidatorCallable implements Callable<IaasProvider> {
             log.debug("Partition validation started for " + partition + " of " + cartridge);
         }
         String provider = partition.getProvider();
-        IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProvider(cartridge.getUuid(), provider);
+        IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProvider(cartridge.getType(), provider);
 
         IaasProvider updatedIaasProvider =
                 CloudControllerServiceUtil.validatePartitionAndGetIaasProvider(partition, iaasProvider);

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 787ab5f..964dd73 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
@@ -148,7 +148,7 @@ public class CloudControllerContext implements Serializable {
 
     /**
      * Map of network partitions
-     * Key - network partition uuid
+     * Key - network partition id
      * Value network partition
      */
     private Map<String, NetworkPartition> networkPartitionIDToNetworkPartitionMap;
@@ -242,8 +242,8 @@ public class CloudControllerContext implements Serializable {
         return serviceGroupNameToServiceGroupMap.values();
     }
 
-    public Cartridge getCartridge(String cartridgeUuid) {
-        return cartridgeTypeToCartridgeMap.get(cartridgeUuid);
+    public Cartridge getCartridge(String cartridgeType) {
+        return cartridgeTypeToCartridgeMap.get(cartridgeType);
     }
 
     private Lock acquireWriteLock(String object) {
@@ -283,45 +283,33 @@ public class CloudControllerContext implements Serializable {
     }
 
     public void addCartridge(Cartridge cartridge) {
-        cartridgeTypeToCartridgeMap.put(cartridge.getUuid(), cartridge);
+        cartridgeTypeToCartridgeMap.put(cartridge.getType(), cartridge);
     }
 
     public void addNetworkPartition(NetworkPartition networkPartition) {
-        networkPartitionIDToNetworkPartitionMap.put(networkPartition.getUuid(), networkPartition);
+        networkPartitionIDToNetworkPartitionMap.put(networkPartition.getId(), networkPartition);
     }
 
-    public NetworkPartition getNetworkPartition(String networkPartitionUuid) {
-        return networkPartitionIDToNetworkPartitionMap.get(networkPartitionUuid);
+    public NetworkPartition getNetworkPartition(String networkPartitionID) {
+        return networkPartitionIDToNetworkPartitionMap.get(networkPartitionID);
     }
 
     public Collection<NetworkPartition> getNetworkPartitions() {
         return networkPartitionIDToNetworkPartitionMap.values();
     }
 
-    public void removeNetworkPartition(String networkPartitionUuid) {
-        networkPartitionIDToNetworkPartitionMap.remove(networkPartitionUuid);
+    public void removeNetworkPartition(String networkPartitionID) {
+        networkPartitionIDToNetworkPartitionMap.remove(networkPartitionID);
     }
 
-    public NetworkPartition getNetworkPartitionForTenant(String networkPartitionId, int tenantId) {
-        NetworkPartition networkPartitionForTenant = null;
-        for (NetworkPartition networkPartition : getNetworkPartitions()) {
-            if (networkPartition.getTenantId() == tenantId && networkPartition.getId().equals(networkPartitionId)) {
-                networkPartitionForTenant = networkPartition;
-            }
-        }
-        return networkPartitionForTenant;
-    }
-
-    public boolean removeCartridge(String cartridgeUuid) {
-        if (cartridgeTypeToCartridgeMap.containsKey(cartridgeUuid)) {
-            cartridgeTypeToCartridgeMap.remove(cartridgeUuid);
-            return true;
+    public void removeCartridge(Cartridge cartridge) {
+        if (cartridgeTypeToCartridgeMap.containsKey(cartridge.getType())) {
+            cartridgeTypeToCartridgeMap.remove(cartridge.getType());
         }
-        return false;
     }
 
     public void updateCartridge(Cartridge cartridge) {
-        cartridgeTypeToCartridgeMap.put(cartridge.getUuid(), cartridge);
+        cartridgeTypeToCartridgeMap.put(cartridge.getType(), cartridge);
     }
 
     public ServiceGroup getServiceGroup(String name) {
@@ -493,21 +481,21 @@ public class CloudControllerContext implements Serializable {
         return executorService;
     }
 
-    public List<String> getPartitionIds(String cartridgeUuid) {
-        return cartridgeTypeToPartitionIdsMap.get(cartridgeUuid);
+    public List<String> getPartitionIds(String cartridgeType) {
+        return cartridgeTypeToPartitionIdsMap.get(cartridgeType);
     }
 
-    public void addToCartridgeTypeToPartitionIdMap(String cartridgeUuid, String partitionId) {
-        List<String> list = this.cartridgeTypeToPartitionIdsMap.get(cartridgeUuid);
+    public void addToCartridgeTypeToPartitionIdMap(String cartridgeType, String partitionId) {
+        List<String> list = this.cartridgeTypeToPartitionIdsMap.get(cartridgeType);
         if (list == null) {
             list = new ArrayList<String>();
         }
         list.add(partitionId);
-        cartridgeTypeToPartitionIdsMap.put(cartridgeUuid, list);
+        cartridgeTypeToPartitionIdsMap.put(cartridgeType, list);
     }
 
-    public void removeFromCartridgeTypeToPartitionIds(String cartridgeUuid) {
-        cartridgeTypeToPartitionIdsMap.remove(cartridgeUuid);
+    public void removeFromCartridgeTypeToPartitionIds(String cartridgeType) {
+        cartridgeTypeToPartitionIdsMap.remove(cartridgeType);
     }
 
     public KubernetesClusterContext getKubernetesClusterContext(String kubernetesClusterId) {
@@ -591,11 +579,11 @@ public class CloudControllerContext implements Serializable {
     }
 
     public void addKubernetesCluster(KubernetesCluster kubernetesCluster) {
-        kubernetesClustersMap.put(kubernetesCluster.getClusterUuid(), kubernetesCluster);
+        kubernetesClustersMap.put(kubernetesCluster.getClusterId(), kubernetesCluster);
     }
 
     public void updateKubernetesCluster(KubernetesCluster kubernetesCluster) {
-        kubernetesClustersMap.put(kubernetesCluster.getClusterUuid(), kubernetesCluster);
+        kubernetesClustersMap.put(kubernetesCluster.getClusterId(), kubernetesCluster);
     }
 
     public boolean kubernetesClusterExists(KubernetesCluster kubernetesCluster) {
@@ -807,12 +795,12 @@ public class CloudControllerContext implements Serializable {
         }
     }
 
-    public IaasProvider getIaasProviderOfPartition(String cartridgeUuid, String partitionId) {
+    public IaasProvider getIaasProviderOfPartition(String cartridgeType, String partitionId) {
         if (log.isDebugEnabled()) {
             log.debug("Retrieving partition: " + partitionId + " for the Cartridge: " + this.hashCode() + ". "
-                    + "Current Partition List: " + getPartitionToIaasProvider(cartridgeUuid).keySet().toString());
+                    + "Current Partition List: " + getPartitionToIaasProvider(cartridgeType).keySet().toString());
         }
-        return getPartitionToIaasProvider(cartridgeUuid).get(partitionId);
+        return getPartitionToIaasProvider(cartridgeType).get(partitionId);
     }
 
     public Map<String, IaasProvider> getPartitionToIaasProvider(String cartridgeType) {
@@ -827,8 +815,8 @@ public class CloudControllerContext implements Serializable {
         this.cartridgeTypeToIaasProviders = cartridgeTypeToIaasProviders;
     }
 
-    public void addIaasProvider(String cartridgeUuid, IaasProvider iaasProvider) {
-        List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeUuid);
+    public void addIaasProvider(String cartridgeType, IaasProvider iaasProvider) {
+        List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeType);
         if (iaasProviders == null) {
             iaasProviders = new ArrayList<IaasProvider>();
         }
@@ -845,11 +833,11 @@ public class CloudControllerContext implements Serializable {
 
         // Else, add iaas provider against cartridge type
         iaasProviders.add(iaasProvider);
-        cartridgeTypeToIaasProviders.put(cartridgeUuid, iaasProviders);
+        cartridgeTypeToIaasProviders.put(cartridgeType, iaasProviders);
     }
 
-    public IaasProvider getIaasProvider(String cartridgeUuid, String iaasType) {
-        List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeUuid);
+    public IaasProvider getIaasProvider(String cartridgeType, String iaasType) {
+        List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeType);
 
         if (iaasProviders != null) {
             for (IaasProvider iaasProvider : iaasProviders) {
@@ -861,8 +849,8 @@ public class CloudControllerContext implements Serializable {
         return null;
     }
 
-    public List<IaasProvider> getIaasProviders(String cartridgeUuid) {
-        List<IaasProvider> iaasProviderList = cartridgeTypeToIaasProviders.get(cartridgeUuid);
+    public List<IaasProvider> getIaasProviders(String cartridgeType) {
+        List<IaasProvider> iaasProviderList = cartridgeTypeToIaasProviders.get(cartridgeType);
         return iaasProviderList;
     }
 
@@ -896,13 +884,13 @@ public class CloudControllerContext implements Serializable {
 
     /**
      * Get cluster port mappings of an application cluster.
-     * @param applicationUuid
+     * @param applicationId
      * @param clusterId
      * @return
      */
-    public List<ClusterPortMapping> getClusterPortMappings(String applicationUuid, String clusterId) {
+    public List<ClusterPortMapping> getClusterPortMappings(String applicationId, String clusterId) {
         Map<String, List<ClusterPortMapping>> clusterIdToPortMappings =
-                applicationIdToClusterIdToPortMappings.get(applicationUuid);
+                applicationIdToClusterIdToPortMappings.get(applicationId);
 
         if(clusterIdToPortMappings != null) {
             return clusterIdToPortMappings.get(clusterId);

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
index ab1459e..a6a1250 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java
@@ -26,7 +26,7 @@ public class ApplicationClusterContext {
     // cluster id
     private String clusterId;
     // cartridge type
-    private String cartridgeUuid;
+    private String cartridgeType;
     // payload as a String
     private String textPayload;
     // host name
@@ -59,12 +59,12 @@ public class ApplicationClusterContext {
         this.clusterId = clusterId;
     }
 
-    public String getCartridgeUuid() {
-        return cartridgeUuid;
+    public String getCartridgeType() {
+        return cartridgeType;
     }
 
-    public void setCartridgeUuid(String cartridgeUuid) {
-        this.cartridgeUuid = cartridgeUuid;
+    public void setCartridgeType(String cartridgeType) {
+        this.cartridgeType = cartridgeType;
     }
 
     public String getTextPayload() {
@@ -127,12 +127,12 @@ public class ApplicationClusterContext {
 
         ApplicationClusterContext that = (ApplicationClusterContext) other;
 
-        return this.cartridgeUuid.equals(that.cartridgeUuid) &&
+        return this.cartridgeType.equals(that.cartridgeType) &&
                 this.clusterId.equals(that.clusterId);
     }
 
     public int hashCode() {
-        return this.cartridgeUuid.hashCode() + this.clusterId.hashCode();
+        return this.cartridgeType.hashCode() + this.clusterId.hashCode();
     }
 
     public Properties getProperties() {

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java
index a9fcc11..27b84be 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java
@@ -37,7 +37,6 @@ public class Cartridge implements Serializable {
     private transient static final Log log = LogFactory.getLog(Cartridge.class);
     private static final long serialVersionUID = 6637409027085059072L;
 
-	private String uuid;
     private String type;
     private String hostName;
     private String provider;
@@ -53,7 +52,6 @@ public class Cartridge implements Serializable {
     private AppType[] appTypeMappings;
     private String loadBalancingIPType;
     private String[] metadataKeys;
-	private int tenantId;
 
     private boolean isPublic;
 
@@ -307,20 +305,4 @@ public class Cartridge implements Serializable {
                 + ", properties=" + properties
                 + "]";
     }
-
-	public String getUuid() {
-		return uuid;
-	}
-
-	public void setUuid(String uuid) {
-		this.uuid = uuid;
-	}
-
-	public int getTenantId() {
-		return tenantId;
-	}
-
-	public void setTenantId(int tenantId) {
-		this.tenantId = tenantId;
-	}
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
index a3d6e9f..09b987d 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
@@ -32,9 +32,9 @@ public class ClusterContext implements Serializable {
 
     private static final long serialVersionUID = 4830667953031229223L;
 
-    private final String applicationUuid;
+    private final String applicationId;
     private final String clusterId;
-    private final String cartridgeUuid;
+    private final String cartridgeType;
     private final String payload;
     private final String hostName;
     private final boolean isLbCluster;
@@ -47,11 +47,11 @@ public class ClusterContext implements Serializable {
     private List<KubernetesService> kubernetesServices;
     private String kubernetesClusterId;
 
-    public ClusterContext(String applicationUuid, String cartridgeUuid, String clusterId, String payload, String hostName,
+    public ClusterContext(String applicationId, String cartridgeType, String clusterId, String payload, String hostName,
                           boolean isLbCluster, Properties properties) {
 
-        this.applicationUuid = applicationUuid;
-        this.cartridgeUuid = cartridgeUuid;
+        this.applicationId = applicationId;
+        this.cartridgeType = cartridgeType;
         this.clusterId = clusterId;
         this.payload = payload;
         this.hostName = hostName;
@@ -59,16 +59,16 @@ public class ClusterContext implements Serializable {
         this.setProperties(properties);
     }
 
-    public String getApplicationUuid() {
-        return applicationUuid;
+    public String getApplicationId() {
+        return applicationId;
     }
 
     public String getClusterId() {
         return clusterId;
     }
 
-    public String getCartridgeUuid() {
-        return cartridgeUuid;
+    public String getCartridgeType() {
+        return cartridgeType;
     }
 
     public String getPayload() {

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 4dce3aa..85b6179 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
@@ -32,37 +32,13 @@ public class NetworkPartition implements Serializable {
 
     private static final long serialVersionUID = -8043298009352097370L;
 
-    private String uuid;
     private String id;
-    private int tenantId;
     private String provider;
     private boolean activeByDefault;
     private Partition[] partitions;
     private String partitionAlgo;
     private Properties properties;
 
-    /**
-     * Gets the local Id of the network partition.
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * Sets the local Id of the network partition.
-     */
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public int getTenantId() {
-        return tenantId;
-    }
-
-    public void setTenantId(int tenantId) {
-        this.tenantId = tenantId;
-    }
-
     public void setPartitions(Partition[] partitions) {
         if (partitions == null) {
             this.partitions = partitions;
@@ -82,17 +58,17 @@ public class NetworkPartition implements Serializable {
     }
 
     /**
-     * Gets the global Id network partition
+     * Gets the value of the id.
      */
-    public String getUuid() {
-        return uuid;
+    public String getId() {
+        return id;
     }
 
     /**
-     * Sets the global Id network partition
+     * sets the value of the id.
      */
-    public void setUuid(String uuid) {
-        this.uuid = uuid;
+    public void setId(String id) {
+        this.id = id;
     }
 
     public boolean isActiveByDefault() {
@@ -105,7 +81,7 @@ public class NetworkPartition implements Serializable {
 
     public Partition getPartition(String partitionId) {
         for (Partition partition : partitions) {
-            if (partition.getUuid().equals(partitionId)) {
+            if (partition.getId().equals(partitionId)) {
                 return partition;
             }
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 2f23ce4..fc0e0af 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,13 +36,11 @@ public class Partition implements Serializable {
      * provider should match with an IaasProvider type.
      */
     private String provider;
-    private String uuid;
-	private String id;
+    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.
@@ -50,18 +48,18 @@ public class Partition implements Serializable {
      * @return possible object is
      * {@link String }
      */
-    public String getUuid() {
-        return uuid;
+    public String getId() {
+        return id;
     }
 
     /**
      * Sets the value of the id property.
      *
-     * @param uuid allowed object is
+     * @param id allowed object is
      *           {@link String }
      */
-    public void setUuid(String uuid) {
-        this.uuid = uuid;
+    public void setId(String id) {
+        this.id = id;
     }
 
     /**
@@ -128,13 +126,13 @@ public class Partition implements Serializable {
 
     @Override
     public String toString() {
-        return "Partition [id=" + uuid + ", description=" + description + ", isPublic=" + isPublic
+        return "Partition [id=" + id + ", description=" + description + ", isPublic=" + isPublic
                 + ", provider=" + provider + ", properties=" + properties + "]";
     }
 
     public boolean equals(Object obj) {
         if (obj != null && obj instanceof Partition) {
-            return this.uuid.equals(((Partition) obj).getUuid());
+            return this.id.equals(((Partition) obj).getId());
         }
         return false;
 
@@ -142,7 +140,7 @@ public class Partition implements Serializable {
 
     @Override
     public int hashCode() {
-        return this.uuid.hashCode();
+        return this.id.hashCode();
     }
 
     public int getPartitionMax() {
@@ -152,20 +150,4 @@ 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/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java
index 8c383ff..8730a61 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java
@@ -31,21 +31,19 @@ public class KubernetesCluster implements Serializable {
 
     private static final long serialVersionUID = 3210149484906093132L;
 
-    private String clusterUuid;
-	private String clusterId;
+    private String clusterId;
     private KubernetesHost[] kubernetesHosts;
     private KubernetesMaster kubernetesMaster;
     private PortRange portRange;
     private String description;
-	private int tenantId;
     private Properties properties = new Properties();
 
-    public String getClusterUuid() {
-        return clusterUuid;
+    public String getClusterId() {
+        return clusterId;
     }
 
-    public void setClusterUuid(String clusterUuid) {
-        this.clusterUuid = clusterUuid;
+    public void setClusterId(String clusterId) {
+        this.clusterId = clusterId;
     }
 
     public KubernetesHost[] getKubernetesHosts() {
@@ -93,7 +91,7 @@ public class KubernetesCluster implements Serializable {
     }
 
     public String toString() {
-        return "KubernetesCluster [groupId=" + clusterUuid +
+        return "KubernetesCluster [groupId=" + clusterId +
                 " , kubernetesHosts=" + Arrays.toString(kubernetesHosts) +
                 " , kubernetesMaster=" + kubernetesMaster +
                 " , portRange=" + portRange +
@@ -113,9 +111,9 @@ public class KubernetesCluster implements Serializable {
             return false;
         }
         KubernetesCluster kubernetesClusterObj = (KubernetesCluster) anObject;
-        if (this.clusterUuid == null || kubernetesClusterObj.getClusterUuid() == null) {
+        if (this.clusterId == null || kubernetesClusterObj.getClusterId() == null) {
             return false;
-        } else if (!this.clusterUuid.equals(kubernetesClusterObj.getClusterUuid())) {
+        } else if (!this.clusterId.equals(kubernetesClusterObj.getClusterId())) {
             return false;
         }
 
@@ -163,27 +161,11 @@ public class KubernetesCluster implements Serializable {
         final int prime = 31;
         int result = 1;
         result = prime * result + ((this.portRange == null) ? 0 : this.portRange.hashCode());
-        result = prime * result + ((this.clusterUuid == null) ? 0 : this.clusterUuid.hashCode());
+        result = prime * result + ((this.clusterId == null) ? 0 : this.clusterId.hashCode());
         result = prime * result + ((this.description == null) ? 0 : this.description.hashCode());
         result = prime * result + ((this.kubernetesMaster == null) ? 0 : this.kubernetesMaster.hashCode());
         result = prime * result + ((this.kubernetesHosts == null) ? 0 : Arrays.hashCode(this.kubernetesHosts));
         result = prime * result + ((this.properties == null) ? 0 : this.properties.hashCode());
         return result;
     }
-
-	public String getClusterId() {
-		return clusterId;
-	}
-
-	public void setClusterId(String clusterId) {
-		this.clusterId = clusterId;
-	}
-
-	public int getTenantId() {
-		return tenantId;
-	}
-
-	public void setTenantId(int tenantId) {
-		this.tenantId = tenantId;
-	}
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 34286c4..579da5b 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.getUuid() + e.getMessage();
+            String msg = "Invalid partition detected: [partition-id] " + partition.getId() + e.getMessage();
             log.error(msg, e);
             throw new InvalidPartitionException(msg, e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 7348598..e3a78b6 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.getUuid() +
+                    String message = "Invalid partition detected, invalid region: [partition-id] " + partition.getId() +
                             " [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.getUuid();
+            String message = "Invalid partition detected: [partition-id] " + partition.getId();
             log.error(message, ex);
             throw new InvalidPartitionException(message, ex);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 d07aa66..fa1a9b3 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
@@ -108,7 +108,7 @@ public class KubernetesIaas extends Iaas {
             if (parameterArray != null) {
                 for (String parameter : parameterArray) {
                     if (parameter != null) {
-                        String[] nameValueArray = parameter.split(PAYLOAD_PARAMETER_NAME_VALUE_SEPARATOR);
+                        String[] nameValueArray = parameter.split(PAYLOAD_PARAMETER_NAME_VALUE_SEPARATOR, 2);
                         if ((nameValueArray != null) && (nameValueArray.length == 2)) {
                             NameValuePair nameValuePair = new NameValuePair(nameValueArray[0], nameValueArray[1]);
                             payload.add(nameValuePair);
@@ -174,7 +174,7 @@ public class KubernetesIaas extends Iaas {
                     memberContext.getMemberId()));
 
             // Validate cartridge
-            String cartridgeType = clusterContext.getCartridgeUuid();
+            String cartridgeType = clusterContext.getCartridgeType();
             Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType);
             if (cartridge == null) {
                 String msg = String.format("Cartridge not found: [application] %s [cartridge] %s",
@@ -216,7 +216,7 @@ public class KubernetesIaas extends Iaas {
                     kubernetesPortRange.getLower());
 
             // Generate kubernetes service ports and update port mappings in cartridge
-            generateKubernetesServicePorts(clusterContext.getApplicationUuid(), clusterContext.getClusterId(),
+            generateKubernetesServicePorts(clusterContext.getApplicationId(), clusterContext.getClusterId(),
                     kubernetesClusterContext, cartridge);
 
             // Create kubernetes services for port mappings
@@ -395,9 +395,9 @@ public class KubernetesIaas extends Iaas {
             memory = Integer.parseInt(memoryProperty.getValue());
         }
 
-        IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProviderOfPartition(cartridge.getUuid(), partition.getUuid());
+        IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProviderOfPartition(cartridge.getType(), partition.getId());
         if (iaasProvider == null) {
-            String message = "Could not find iaas provider: [partition] " + partition.getUuid();
+            String message = "Could not find iaas provider: [partition] " + partition.getId();
             log.error(message);
             throw new RuntimeException(message);
         }
@@ -408,7 +408,7 @@ public class KubernetesIaas extends Iaas {
         // Create pod
         long podSeqNo = kubernetesClusterContext.getPodSeqNo().incrementAndGet();
         String podId = "pod" + "-" + podSeqNo;
-        String podLabel = KubernetesIaasUtil.fixSpecialCharacters(clusterId);
+        String podLabel = DigestUtils.md5Hex(clusterId);
         String dockerImage = iaasProvider.getImage();
         List<EnvVar> environmentVariables = KubernetesIaasUtil.prepareEnvironmentVariables(
                 clusterContext, memberContext);
@@ -423,9 +423,9 @@ public class KubernetesIaas extends Iaas {
         kubernetesApi.createPod(podId, podLabel, dockerImage, cpu, memory, ports, environmentVariables);
 
         log.info(String.format("Pod started successfully: [application] %s [cartridge] %s [member] %s " +
-                        "[pod] %s [cpu] %d [memory] %d MB",
+                        "[pod] %s [pod-label] %s [cpu] %d [memory] %d MB",
                 memberContext.getApplicationId(), memberContext.getCartridgeType(),
-                memberContext.getMemberId(), podId, cpu, memory));
+                memberContext.getMemberId(), podId, podLabel, cpu, memory));
 
         // Add pod id to member context
         memberContext.setKubernetesPodId(podId);
@@ -457,7 +457,7 @@ public class KubernetesIaas extends Iaas {
             throws KubernetesClientException {
 
         String clusterId = clusterContext.getClusterId();
-        String cartridgeType = clusterContext.getCartridgeUuid();
+        String cartridgeType = clusterContext.getCartridgeType();
 
         Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType);
         if (cartridge == null) {
@@ -484,7 +484,7 @@ public class KubernetesIaas extends Iaas {
         KubernetesHost[] kubernetesHosts = kubernetesCluster.getKubernetesHosts();
         if ((kubernetesHosts == null) || (kubernetesHosts.length == 0) || (kubernetesHosts[0] == null)) {
             throw new RuntimeException("Hosts not found in kubernetes cluster: [cluster] "
-                    + kubernetesCluster.getClusterUuid());
+                    + kubernetesCluster.getClusterId());
         }
         for (KubernetesHost host : kubernetesHosts) {
             if (host != null) {
@@ -497,7 +497,7 @@ public class KubernetesIaas extends Iaas {
         }
 
         Collection<ClusterPortMapping> clusterPortMappings = CloudControllerContext.getInstance()
-                .getClusterPortMappings(clusterContext.getApplicationUuid(), clusterId);
+                .getClusterPortMappings(clusterContext.getApplicationId(), clusterId);
 
         if (clusterPortMappings != null) {
             for (ClusterPortMapping clusterPortMapping : clusterPortMappings) {
@@ -658,9 +658,10 @@ public class KubernetesIaas extends Iaas {
                     if (portMappingStrBuilder.toString().length() > 0) {
                         portMappingStrBuilder.append(";");
                     }
-                    portMappingStrBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d",
+                    portMappingStrBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d|TYPE:%s",
                             clusterPortMapping.getName(), clusterPortMapping.getProtocol(),
-                            clusterPortMapping.getKubernetesServicePort(), clusterPortMapping.getProxyPort()));
+                            clusterPortMapping.getKubernetesServicePort(), clusterPortMapping.getProxyPort(),
+                            clusterPortMapping.getKubernetesServiceType()));
 
                     if (log.isInfoEnabled()) {
                         log.info(String.format("Kubernetes service port generated: [application-id] %s " +
@@ -687,8 +688,8 @@ public class KubernetesIaas extends Iaas {
      * @return
      */
     private ClusterPortMapping findClusterPortMapping(Collection<ClusterPortMapping> clusterPortMappings, PortMapping portMapping) {
-        for(ClusterPortMapping clusterPortMapping : clusterPortMappings) {
-            if(clusterPortMapping.getName().equals(portMapping.getName())) {
+        for (ClusterPortMapping clusterPortMapping : clusterPortMappings) {
+            if (clusterPortMapping.getName().equals(portMapping.getName())) {
                 return clusterPortMapping;
             }
         }
@@ -912,6 +913,7 @@ public class KubernetesIaas extends Iaas {
 
     /**
      * Remove kubernetes services if available for application cluster.
+     *
      * @param applicationId
      * @param clusterId
      */
@@ -919,12 +921,12 @@ public class KubernetesIaas extends Iaas {
 
         ClusterContext clusterContext =
                 CloudControllerContext.getInstance().getClusterContext(clusterId);
-        if(clusterContext != null) {
+        if (clusterContext != null) {
             String kubernetesClusterId = clusterContext.getKubernetesClusterId();
-            if(org.apache.commons.lang3.StringUtils.isNotBlank(kubernetesClusterId)) {
+            if (org.apache.commons.lang3.StringUtils.isNotBlank(kubernetesClusterId)) {
                 KubernetesClusterContext kubernetesClusterContext =
                         CloudControllerContext.getInstance().getKubernetesClusterContext(kubernetesClusterId);
-                if(kubernetesClusterContext != null) {
+                if (kubernetesClusterContext != null) {
                     KubernetesApiClient kubernetesApiClient = kubernetesClusterContext.getKubApi();
                     for (KubernetesService kubernetesService : clusterContext.getKubernetesServices()) {
                         log.info(String.format("Deleting kubernetes service: [application-id] %s " +

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 609f237..8eedc88 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.getUuid();
+            String message = "Kubernetes cluster not defined in partition: [partition-id] " + partition.getId();
             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.getUuid();
+            String message = "Kubernetes partition is not valid: [partition-id] " + partition.getId();
             log.error(message, e);
             throw new InvalidPartitionException(message, e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 d58bb6f..fb92d27 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().getUuid()
+                memberContext.getPartition().getId()
         );
         setDynamicPayload(payload);
         MockInstanceMetadata mockInstanceMetadata = apiClient.startInstance(mockInstanceContext);

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 7545b04..a8077b8 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.getUuid() +
+                    String msg = "Invalid partition detected, invalid region: [partition-id] " + partition.getId() +
                             " [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.getUuid() + e.getMessage();
+            String msg = "Invalid partition detected: [partition-id] " + partition.getId() + e.getMessage();
             log.error(msg, e);
             throw new InvalidPartitionException(msg, e);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/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 3bb9ab5..7225a61 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
@@ -54,7 +54,7 @@ public class TopologyEventPublisher {
         for (Cartridge cartridge : cartridgeList) {
             serviceCreatedEvent = new ServiceCreatedEvent(cartridge.getType(),
                     (cartridge.isMultiTenant() ? ServiceType.MultiTenant
-                            : ServiceType.SingleTenant), cartridge.getUuid());
+                            : ServiceType.SingleTenant));
 
             // Add ports to the event
             if (cartridge.getPortMappings() != null) {
@@ -78,11 +78,11 @@ public class TopologyEventPublisher {
     public static void sendServiceRemovedEvent(List<Cartridge> cartridgeList) {
         ServiceRemovedEvent serviceRemovedEvent;
         for (Cartridge cartridge : cartridgeList) {
-            serviceRemovedEvent = new ServiceRemovedEvent(cartridge.getUuid());
+            serviceRemovedEvent = new ServiceRemovedEvent(cartridge.getType());
             if (log.isInfoEnabled()) {
                 log.info(String.format(
                         "Publishing service removed event: [service-name] %s",
-                        serviceRemovedEvent.getServiceUuid()));
+                        serviceRemovedEvent.getServiceName()));
             }
             publishEvent(serviceRemovedEvent);
         }
@@ -128,11 +128,11 @@ public class TopologyEventPublisher {
 
     public static void sendClusterRemovedEvent(ClusterContext ctxt, String deploymentPolicy) {
         ClusterRemovedEvent clusterRemovedEvent = new ClusterRemovedEvent(
-                ctxt.getCartridgeUuid(), ctxt.getClusterId(), deploymentPolicy, ctxt.isLbCluster());
+                ctxt.getCartridgeType(), ctxt.getClusterId(), deploymentPolicy, ctxt.isLbCluster());
         if (log.isInfoEnabled()) {
             log.info(String
                     .format("Publishing cluster removed event: [service-name] %s [cluster-id] %s",
-                            ctxt.getCartridgeUuid(), ctxt.getClusterId()));
+                            ctxt.getCartridgeType(), ctxt.getClusterId()));
         }
         publishEvent(clusterRemovedEvent);
 
@@ -146,7 +146,7 @@ public class TopologyEventPublisher {
                 memberContext.getClusterInstanceId(),
                 memberContext.getMemberId(),
                 memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getUuid(),
+                memberContext.getPartition().getId(),
                 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().getUuid(), memberContext.getLbClusterId()));
+                memberContext.getPartition().getId(), memberContext.getLbClusterId()));
         publishEvent(memberCreatedEvent);
     }
 
@@ -171,7 +171,7 @@ public class TopologyEventPublisher {
                 memberContext.getClusterInstanceId(),
                 memberContext.getMemberId(),
                 memberContext.getNetworkPartitionId(),
-                memberContext.getPartition().getUuid());
+                memberContext.getPartition().getId());
 
         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().getUuid(), memberContext.getLbClusterId()));
+                memberContext.getPartition().getId(), memberContext.getLbClusterId()));
         publishEvent(memberInitializedEvent);
     }
 
@@ -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.getServiceUuid(), clusterInstanceCreatedEvent.getClusterId(),
+                    clusterInstanceCreatedEvent.getServiceName(), clusterInstanceCreatedEvent.getClusterId(),
                     clusterInstanceCreatedEvent.getNetworkPartitionId(),
                     clusterInstanceCreatedEvent.getClusterInstance().getInstanceId()));
         }