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:16 UTC

[35/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/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 6f447cb..f0e797f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -25,7 +25,13 @@ import org.apache.stratos.autoscaler.algorithms.networkpartition.NetworkPartitio
 import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import org.apache.stratos.autoscaler.applications.parser.ApplicationParser;
 import org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser;
-import org.apache.stratos.autoscaler.applications.pojo.*;
+import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
+import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext;
+import org.apache.stratos.autoscaler.applications.pojo.ArtifactRepositoryContext;
+import org.apache.stratos.autoscaler.applications.pojo.CartridgeContext;
+import org.apache.stratos.autoscaler.applications.pojo.ComponentContext;
+import org.apache.stratos.autoscaler.applications.pojo.GroupContext;
+import org.apache.stratos.autoscaler.applications.pojo.SubscribableInfoContext;
 import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
 import org.apache.stratos.autoscaler.client.AutoscalerCloudControllerClient;
 import org.apache.stratos.autoscaler.context.AutoscalerContext;
@@ -38,7 +44,7 @@ import org.apache.stratos.autoscaler.exception.*;
 import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
 import org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
 import org.apache.stratos.autoscaler.exception.application.InvalidServiceGroupException;
-import org.apache.stratos.autoscaler.exception.partition.PartitionValidationException;
+import org.apache.stratos.autoscaler.exception.CartridgeNotFoundException;
 import org.apache.stratos.autoscaler.exception.policy.*;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
@@ -89,32 +95,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     @Override
-    public AutoscalePolicy[] getAutoScalingPoliciesByTenant(int tenantId) {
-        AutoscalePolicy[] allAutoscalePolicies = getAutoScalingPolicies();
-        List<AutoscalePolicy> autoscalePolicies = new ArrayList<AutoscalePolicy>();
-
-        if(allAutoscalePolicies!=null){
-            for(AutoscalePolicy autoscalePolicy: allAutoscalePolicies){
-                if(autoscalePolicy.getTenantId()==tenantId){
-                    autoscalePolicies.add(autoscalePolicy);
-                }
-            }
-        }
-        return autoscalePolicies.toArray(new AutoscalePolicy[autoscalePolicies.size()]);
-    }
-
-    @Override
     public boolean addAutoScalingPolicy(AutoscalePolicy autoscalePolicy)
             throws AutoScalingPolicyAlreadyExistException {
-        String autoscalePolicyId = autoscalePolicy.getId();
-        if (PolicyManager.getInstance().getAutoscalePolicyById(autoscalePolicyId) != null && PolicyManager
-                .getInstance().getAutoscalePolicyById(autoscalePolicyId).getTenantId() == autoscalePolicy.getTenantId()) {
-            String message = String.format("Autoscaling policy already exists: [tenant-id] %d " +
-                    "[autoscaling-policy-uuid] %s [autoscaling-policy-id] %s", autoscalePolicy.getTenantId(),
-                    autoscalePolicy.getUuid(), autoscalePolicyId);
-            log.error(message);
-            throw new AutoScalingPolicyAlreadyExistException(message);
-        }
         return PolicyManager.getInstance().addAutoscalePolicy(autoscalePolicy);
     }
 
@@ -126,109 +108,28 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     @Override
     public boolean removeAutoScalingPolicy(String autoscalePolicyId) throws UnremovablePolicyException,
             PolicyDoesNotExistException {
-        if (removableAutoScalerPolicy(autoscalePolicyId)) {
+        if (AutoscalerUtil.removableAutoScalerPolicy(autoscalePolicyId)) {
             return PolicyManager.getInstance().removeAutoscalePolicy(autoscalePolicyId);
         } else {
-            throw new UnremovablePolicyException(String.format("Autoscaling policy cannot be removed, " +
-                    "since it is used in applications: [autoscaling-policy-id] %s", autoscalePolicyId));
+            throw new UnremovablePolicyException("This autoscaler policy cannot be removed, " +
+                    "since it is used in " +
+                    "applications.");
         }
     }
 
-    /**
-     * Validate the Auto Scalar policy removal
-     *
-     * @param autoscalePolicyId Auto Scalar policy id boolean
-     * @return
-     */
-    private boolean removableAutoScalerPolicy(String autoscalePolicyId) {
-        Collection<ApplicationContext> applicationContexts = AutoscalerContext.getInstance().
-                getApplicationContexts();
-        for (ApplicationContext applicationContext : applicationContexts) {
-            if(applicationContext.getComponents().getCartridgeContexts() != null) {
-                for(CartridgeContext cartridgeContext : applicationContext.getComponents().
-                        getCartridgeContexts()) {
-                    if(autoscalePolicyId.equals(cartridgeContext.getSubscribableInfoContext().
-		                    getAutoscalingPolicyUuid())) {
-                        return false;
-                    }
-                }
-            }
-
-            if(applicationContext.getComponents().getGroupContexts() != null) {
-                return findAutoscalingPolicyInGroup(applicationContext.getComponents().getGroupContexts(),
-                        autoscalePolicyId);
-            }
-        }
-        return true;
-    }
-
-
-    private boolean findAutoscalingPolicyInGroup(GroupContext[] groupContexts,
-                                                 String autoscalePolicyId) {
-        for(GroupContext groupContext : groupContexts) {
-            if(groupContext.getCartridgeContexts() != null) {
-                for(CartridgeContext cartridgeContext : groupContext.getCartridgeContexts()) {
-                    if(autoscalePolicyId.equals(cartridgeContext.getSubscribableInfoContext().
-		                    getAutoscalingPolicyUuid())) {
-                        return false;
-                    }
-                }
-
-            }
-            if(groupContext.getGroupContexts() != null) {
-                return findAutoscalingPolicyInGroup(groupContext.getGroupContexts(),
-                        autoscalePolicyId);
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Validate the deployment policy removal
-     *
-     * @param deploymentPolicyId
-     * @return
-     */
-    private boolean removableDeploymentPolicy(String deploymentPolicyId) {
-        boolean canRemove = true;
-        Map<String, Application> applications = ApplicationHolder.getApplications().getApplications();
-        for (Application application : applications.values()) {
-            List<String> deploymentPolicyIdsReferredInApplication = AutoscalerUtil.
-                    getDeploymentPolicyIdsReferredInApplication(application.getUniqueIdentifier());
-            for (String deploymentPolicyIdInApp : deploymentPolicyIdsReferredInApplication) {
-                if (deploymentPolicyId.equals(deploymentPolicyIdInApp)) {
-                    canRemove = false;
-                }
-            }
-        }
-        return canRemove;
-    }
-
     @Override
     public AutoscalePolicy getAutoscalingPolicy(String autoscalingPolicyId) {
         return PolicyManager.getInstance().getAutoscalePolicy(autoscalingPolicyId);
     }
 
-	@Override
-	public AutoscalePolicy getAutoscalingPolicyForTenant(String autoscalingPolicyId, int tenantId) {
-		AutoscalePolicy[] autoscalePolicies=getAutoScalingPolicies();
-		for(AutoscalePolicy autoscalePolicy:autoscalePolicies){
-			if(autoscalePolicy.getId().equals(autoscalingPolicyId)&&(autoscalePolicy.getTenantId()==tenantId)){
-				return autoscalePolicy;
-			}
-		}
-		return null;
-	}
-
-
-	@Override
+    @Override
     public boolean addApplication(ApplicationContext applicationContext)
             throws ApplicationDefinitionException, CartridgeGroupNotFoundException,
             CartridgeNotFoundException {
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Adding application: [tenant-id] %d [application-uuid] %s [application-name] %s",
-                    applicationContext.getTenantId(), applicationContext.getApplicationUuid(), applicationContext.getName()));
+            log.info(String.format("Adding application: [application-id] %s",
+                    applicationContext.getApplicationId()));
         }
 
         ApplicationParser applicationParser = new DefaultApplicationParser();
@@ -242,11 +143,12 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         applicationContext.setStatus(ApplicationContext.STATUS_CREATED);
         AutoscalerContext.getInstance().addApplicationContext(applicationContext);
+        //Persisting the application
+        RegistryManager.getInstance().persistApplicationContext(applicationContext);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Application added successfully: [tenant-id] %d [application-uuid] %s " +
-                            "[application-name] %s", applicationContext.getTenantId(),
-                    applicationContext.getApplicationUuid(), applicationContext.getName()));
+            log.info(String.format("Application added successfully: [application-id] %s",
+                    applicationContext.getApplicationId()));
         }
         return true;
     }
@@ -256,21 +158,21 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             throws ApplicationDefinitionException, CartridgeGroupNotFoundException,
             CartridgeNotFoundException {
 
-        String applicationId = applicationContext.getApplicationUuid();
+        String applicationId = applicationContext.getApplicationId();
         if (log.isInfoEnabled()) {
-            log.info(String.format("Updating application: [tenant-id] %d [application-uuid] %s [application-name] %s",
-                    applicationContext.getTenantId(), applicationContext.getApplicationUuid(), applicationContext.getName()));
+            log.info(String.format("Updating application: [application-id] %s",
+                    applicationContext.getApplicationId()));
         }
 
         if (AutoscalerContext.getInstance().getApplicationContext(applicationId) == null) {
-            String message = "Application not found as ApplicationContext. Please add application before updating it: " +
+            String message = "Application is not found as ApplicationContext. Please add application before updating it: " +
                     "[application-id] " + applicationId;
             log.error(message);
             throw new ApplicationDefinitionException(message);
         }
 
         if (ApplicationHolder.getApplications().getApplication(applicationId) == null) {
-            String message = "Application not found as Application. Please add application before updating it: " +
+            String message = "Application is not found as Application. Please add application before updating it: " +
                     "[application-id] " + applicationId;
             log.error(message);
             throw new ApplicationDefinitionException(message);
@@ -282,11 +184,10 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         ApplicationContext existingApplicationContext = AutoscalerContext.getInstance().
                 getApplicationContext(applicationId);
 
-        if (existingApplicationContext.getStatus().equals(ApplicationContext.STATUS_DEPLOYED)) {
-
-            //Need to update the application
-            AutoscalerUtil.getInstance().updateApplicationsTopology(application);
+        //Need to update the application
+        AutoscalerUtil.getInstance().updateApplicationsTopology(application);
 
+        if (existingApplicationContext.getStatus().equals(ApplicationContext.STATUS_DEPLOYED)) {
             //Update the clusterMonitors
             AutoscalerUtil.getInstance().updateClusterMonitor(application);
 
@@ -303,9 +204,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         AutoscalerContext.getInstance().updateApplicationContext(applicationContext);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Application updated successfully: [tenant-id] %d [application-uuid] %s " +
-                            "[application-name] %s", applicationContext.getTenantId(),
-                    applicationContext.getApplicationUuid(), applicationContext.getName()));
+            log.info(String.format("Application updated successfully: [application-id] %s",
+                    applicationId));
         }
         return true;
     }
@@ -316,13 +216,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     @Override
-    public ApplicationContext getApplicationByTenant(String applicationId, int tenantId) {
-        return AutoscalerContext.getInstance().getApplicationContextByTenant(applicationId, tenantId);
-    }
-
-    @Override
-    public boolean existApplication(String applicationId,int tenantId) {
-        return AutoscalerContext.getInstance().getApplicationContextByTenant(applicationId,tenantId) != null;
+    public boolean existApplication(String applicationId) {
+        return AutoscalerContext.getInstance().getApplicationContext(applicationId) != null;
     }
 
     @Override
@@ -333,47 +228,27 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     @Override
-    public ApplicationContext[] getApplicationsByTenant(int tenantId) {
-        List<ApplicationContext> applicationContexts = new ArrayList<ApplicationContext>();
-        ApplicationContext[] allApps = getApplications();
-        if(allApps != null) {
-            for (ApplicationContext applicationContext : allApps) {
-                if (applicationContext.getTenantId() == tenantId) {
-                    applicationContexts.add(applicationContext);
-                }
-            }
-        }
-        return applicationContexts.toArray(new ApplicationContext[applicationContexts.size()]);
-    }
-
-    @Override
-    public boolean deployApplication(String applicationUuid, String applicationPolicyId)
+    public boolean deployApplication(String applicationId, String applicationPolicyId)
             throws ApplicationDefinitionException {
         try {
-            Application application = ApplicationHolder.getApplications().getApplication(applicationUuid);
+            Application application = ApplicationHolder.getApplications().getApplication(applicationId);
             if (application == null) {
-                throw new RuntimeException(String.format("Application not found: [application-uuid] : %s ",
-                        applicationUuid));
+                throw new RuntimeException("Application not found: " + applicationId);
             }
 
             ApplicationContext applicationContext = RegistryManager.getInstance().
-                    getApplicationContext(applicationUuid);
+                    getApplicationContext(applicationId);
             if (applicationContext == null) {
-                throw new RuntimeException(String.format("Application context not found: [application-uuid] %s",
-                        applicationUuid));
+                throw new RuntimeException("Application context not found: " + applicationId);
             }
 
             // validating application policy against the application
-            AutoscalerUtil.validateApplicationPolicyAgainstApplication(applicationUuid, applicationPolicyId);
-
-            // Create application clusters in cloud controller and send application created event
-            ApplicationBuilder.handleApplicationDeployment(application,
-                    applicationContext.getComponents().getApplicationClusterContexts());
+            AutoscalerUtil.validateApplicationPolicyAgainstApplication(applicationId, applicationPolicyId);
 
             // Setting application policy id in application object
             try {
                 ApplicationHolder.acquireWriteLock();
-                application = ApplicationHolder.getApplications().getApplication(applicationUuid);
+                application = ApplicationHolder.getApplications().getApplication(applicationId);
                 application.setApplicationPolicyId(applicationPolicyId);
                 ApplicationHolder.persistApplication(application);
             } finally {
@@ -382,7 +257,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
             // adding network partition algorithm context to registry
             NetworkPartitionAlgorithmContext algorithmContext =
-                    new NetworkPartitionAlgorithmContext(applicationUuid, applicationPolicyId, 0);
+                    new NetworkPartitionAlgorithmContext(applicationId, applicationPolicyId, 0);
             AutoscalerContext.getInstance().addNetworkPartitionAlgorithmContext(algorithmContext);
 
             if (!applicationContext.isMultiTenant()) {
@@ -393,17 +268,23 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             applicationContext.setStatus(ApplicationContext.STATUS_DEPLOYED);
             AutoscalerContext.getInstance().updateApplicationContext(applicationContext);
 
-            log.info("Waiting for application clusters to be created: [application-uuid] " + applicationUuid);
+            // Create application clusters in cloud controller and send application created event
+            ApplicationBuilder.handleApplicationDeployment(application,
+                    applicationContext.getComponents().getApplicationClusterContexts());
+
+            log.info("Waiting for application clusters to be created: [application-id] " +
+                    applicationId);
+
             return true;
         } catch (Exception e) {
             ApplicationContext applicationContext = RegistryManager.getInstance().
-                    getApplicationContext(applicationUuid);
+                    getApplicationContext(applicationId);
             if (applicationContext != null) {
                 // Revert application status
                 applicationContext.setStatus(ApplicationContext.STATUS_CREATED);
                 AutoscalerContext.getInstance().updateApplicationContext(applicationContext);
             }
-            String message = String.format("Application deployment failed: [application-uuid] %s ", applicationUuid);
+            String message = "Application deployment failed: [application-id]" + applicationId;
             log.error(message, e);
             throw new RuntimeException(message, e);
         }
@@ -435,15 +316,14 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         try {
             if (log.isInfoEnabled()) {
-                log.info(String.format("Adding application signup: [tenant-id] %d [application-uuid] %s " +
-                                "[application-id] %s", applicationContext.getTenantId(),
-                        applicationContext.getApplicationUuid(), applicationContext.getApplicationId()));
+                log.info(String.format("Adding application signup: [application-id] %s",
+                        applicationContext.getApplicationId()));
             }
 
             ComponentContext components = applicationContext.getComponents();
             if (components != null) {
                 ApplicationSignUp applicationSignUp = new ApplicationSignUp();
-                applicationSignUp.setApplicationId(applicationContext.getApplicationUuid());
+                applicationSignUp.setApplicationId(applicationContext.getApplicationId());
                 applicationSignUp.setTenantId(applicationContext.getTenantId());
                 String[] clusterIdsArray = clusterIds.toArray(new String[clusterIds.size()]);
                 applicationSignUp.setClusterIds(clusterIdsArray);
@@ -473,15 +353,12 @@ public class AutoscalerServiceImpl implements AutoscalerService {
                 serviceClient.addApplicationSignUp(applicationSignUp);
 
                 if (log.isInfoEnabled()) {
-                    log.info(String.format("Application signup added successfully: [tenant-id] %d [application-uuid] " +
-                                    "%s [application-id] %s", applicationContext.getTenantId(),
-                            applicationContext.getApplicationUuid(), applicationContext.getApplicationId()));
+                    log.info(String.format("Application signup added successfully: [application-id] %s",
+                            applicationContext.getApplicationId()));
                 }
             }
         } catch (Exception e) {
-            String message = String.format("Could not add application signup: [tenant-id] %d [application-uuid] %s " +
-            "[application-id] %s", applicationContext.getTenantId(), applicationContext.getApplicationUuid(),
-                    applicationContext.getApplicationId());
+            String message = "Could not add application signup: [application-id]" + applicationContext.getApplicationId();
             log.error(message, e);
             throw new RuntimeException(message, e);
         }
@@ -513,14 +390,13 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     private void removeApplicationSignUp(ApplicationContext applicationContext) {
         try {
             if (log.isInfoEnabled()) {
-                log.info(String.format("Removing application signup: [tenant-id] %d [application-uuid] %s " +
-                                "[application-id] %s", applicationContext.getTenantId(),
-                        applicationContext.getApplicationUuid(), applicationContext.getApplicationId()));
+                log.info(String.format("Removing application signup: [application-id] %s",
+                        applicationContext.getApplicationId()));
             }
 
             StratosManagerServiceClient serviceClient = StratosManagerServiceClient.getInstance();
 
-            ApplicationSignUp applicationSignUp[] = serviceClient.getApplicationSignUps(applicationContext.getApplicationUuid());
+            ApplicationSignUp applicationSignUp[] = serviceClient.getApplicationSignUps(applicationContext.getApplicationId());
             if (applicationSignUp != null) {
                 for (ApplicationSignUp appSignUp : applicationSignUp) {
                     if (appSignUp != null) {
@@ -530,7 +406,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             }
 
         } catch (Exception e) {
-            String message = "Could not remove application signup(s): [application-id]";
+            String message = "Could not remove application signup(s)";
             log.error(message, e);
             throw new RuntimeException(message, e);
         }
@@ -573,7 +449,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             if (artifactRepositoryContext != null) {
 
                 ArtifactRepository artifactRepository = new ArtifactRepository();
-                artifactRepository.setCartridgeType(cartridgeContext.getUuid());
+                artifactRepository.setCartridgeType(cartridgeContext.getType());
                 artifactRepository.setAlias(subscribableInfoContext.getAlias());
                 artifactRepository.setRepoUrl(artifactRepositoryContext.getRepoUrl());
                 artifactRepository.setPrivateRepo(artifactRepositoryContext.isPrivateRepo());
@@ -617,7 +493,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
                     return false;
                 } else {
                     log.info(String.format("Previous graceful un-deployment is in progress for " +
-                            "[application-id] %s , thus  terminating instances directly",
+                                    "[application-id] %s , thus  terminating instances directly",
                             applicationId));
                     appMonitor.setForce(true);
                     terminateAllMembersAndClustersForcefully(applicationId);
@@ -647,9 +523,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             }
 
             if (!applicationContext.getStatus().equals(ApplicationContext.STATUS_DEPLOYED)) {
-                String message = String.format("Application is not deployed: [tenant-id] %d " +
-                        "[application-uuid] %s [application-id] %s", applicationContext.getTenantId(),
-                        applicationContext.getApplicationUuid(), applicationId);
+                String message = String.format("Application is not deployed: [application-id] %s", applicationId);
                 log.error(message);
                 throw new RuntimeException(message);
             }
@@ -657,15 +531,10 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             // Remove application signup(s) in stratos manager
             removeApplicationSignUp(applicationContext);
 
-            // Remove network partition algorithm context
-            AutoscalerContext.getInstance().removeNetworkPartitionAlgorithmContext(applicationId);
-
             ApplicationBuilder.handleApplicationUnDeployedEvent(applicationId);
 
             if (log.isInfoEnabled()) {
-                log.info(String.format("Application undeployment process started: [tenant-id] %d " +
-                                "[application-uuid] %s [application-id] %s", applicationContext.getTenantId(),
-                        applicationContext.getApplicationUuid(), applicationId));
+                log.info("Application undeployment process started: [application-id] " + applicationId);
             }
         } catch (Exception e) {
             String message = "Could not start application undeployment process: [application-id] " + applicationId;
@@ -694,16 +563,13 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
             if (application.getInstanceContextCount() > 0) {
                 String message = String.format("Application cannot be deleted, undeployment process is still in " +
-                                "progress: [tenant-id] %d [application-uuid] %s [application-id] %s",
-                        applicationContext.getTenantId(), applicationContext.getApplicationUuid(), applicationId);
+                        "progress: [application-id] %s", applicationId);
                 log.error(message);
                 throw new RuntimeException(message);
             }
 
             ApplicationBuilder.handleApplicationRemoval(applicationId);
-            log.info(String.format("Application deleted successfully: [tenant-id] %d [application-uuid] %s " +
-                            "[application-id] %s", applicationContext.getTenantId(),
-                    applicationContext.getApplicationUuid(), applicationId));
+            log.info(String.format("Application deleted successfully: [application-id] %s", applicationId));
         } catch (Exception e) {
             String message = String.format("Could not delete application: [application-id] %s", applicationId);
             log.error(message, e);
@@ -730,24 +596,23 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
     public boolean addServiceGroup(ServiceGroup servicegroup) throws InvalidServiceGroupException {
 
-        if (servicegroup == null || StringUtils.isEmpty(servicegroup.getUuid())) {
+        if (servicegroup == null || StringUtils.isEmpty(servicegroup.getName())) {
             String msg = "Cartridge group is null or cartridge group name is empty.";
             log.error(msg);
             throw new InvalidServiceGroupException(msg);
         }
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Adding cartridge group: [tenant-id] %d [group-uuid] %s [group-name] %s",
-                    servicegroup.getTenantId(), servicegroup.getUuid(), servicegroup.getName()));
+            log.info(String.format("Adding cartridge group: [group-name] %s", servicegroup.getName()));
         }
 
-        String groupUuid = servicegroup.getUuid();
-        if (RegistryManager.getInstance().serviceGroupExist(groupUuid)) {
-            throw new InvalidServiceGroupException("Cartridge group already exists.");
+        String groupName = servicegroup.getName();
+        if (RegistryManager.getInstance().serviceGroupExist(groupName)) {
+            throw new InvalidServiceGroupException("Cartridge group with the name " + groupName + " already exists.");
         }
 
         if (log.isDebugEnabled()) {
-            log.debug(String.format("Adding cartridge group %s", servicegroup.getUuid()));
+            log.debug(String.format("Adding cartridge group %s", servicegroup.getName()));
         }
 
         String[] subGroups = servicegroup.getCartridges();
@@ -767,7 +632,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         if (dependencies != null) {
             String[] startupOrders = dependencies.getStartupOrders();
-            AutoscalerUtil.validateStartupOrders(groupUuid, startupOrders);
+            AutoscalerUtil.validateStartupOrders(groupName, startupOrders);
 
             if (log.isDebugEnabled()) {
                 log.debug("StartupOrders " + Arrays.toString(startupOrders));
@@ -780,7 +645,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             }
 
             String[] scalingDependents = dependencies.getScalingDependants();
-            AutoscalerUtil.validateScalingDependencies(groupUuid, scalingDependents);
+            AutoscalerUtil.validateScalingDependencies(groupName, scalingDependents);
 
             if (log.isDebugEnabled()) {
                 log.debug("ScalingDependent " + Arrays.toString(scalingDependents));
@@ -795,28 +660,27 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         RegistryManager.getInstance().persistServiceGroup(servicegroup);
         if (log.isInfoEnabled()) {
-            log.info(String.format("Cartridge group successfully added: [tenant-id] %d [group-uuid] %s [group-name] %s",
-                    servicegroup.getTenantId(), servicegroup.getUuid(), servicegroup.getName()));
+            log.info(String.format("Cartridge group successfully added: [group-name] %s", servicegroup.getName()));
         }
         return true;
     }
 
     public boolean updateServiceGroup(ServiceGroup cartridgeGroup) throws InvalidServiceGroupException {
 
-        if (cartridgeGroup == null || StringUtils.isEmpty(cartridgeGroup.getUuid())) {
+        if (cartridgeGroup == null || StringUtils.isEmpty(cartridgeGroup.getName())) {
             String msg = "Cartridge group cannot be null or service name cannot be empty.";
             log.error(msg);
             throw new IllegalArgumentException(msg);
         }
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Updating cartridge group: [tenant-id] %d [group-uuid] %s [group-name] %s",
-                    cartridgeGroup.getTenantId(), cartridgeGroup.getUuid(), cartridgeGroup.getName()));
+            log.info(String.format("Updating cartridge group: [group-name] %s", cartridgeGroup.getName()));
         }
 
-        String groupName = cartridgeGroup.getUuid();
+        String groupName = cartridgeGroup.getName();
         if (!RegistryManager.getInstance().serviceGroupExist(groupName)) {
-            throw new InvalidServiceGroupException("Cartridge group does not exist.");
+            throw new InvalidServiceGroupException(String.format("Cartridge group does not exist: [cartridge-group] %s",
+                    cartridgeGroup.getName()));
         }
 
         Dependencies dependencies = cartridgeGroup.getDependencies();
@@ -856,9 +720,9 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             throw new RuntimeException(message, e);
         }
 
+
         if (log.isInfoEnabled()) {
-            log.info(String.format("Cartridge group successfully updated: [tenant-id] %d [group-uuid] %s [group-name] %s",
-                    cartridgeGroup.getTenantId(), cartridgeGroup.getUuid(), cartridgeGroup.getName()));
+            log.info(String.format("Cartridge group successfully updated: [group-name] %s", cartridgeGroup.getName()));
         }
         return true;
     }
@@ -889,78 +753,17 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         return true;
     }
 
-    public ServiceGroup getServiceGroup(String uuid) {
-        if (StringUtils.isEmpty(uuid)) {
-            return null;
-        }
-        try {
-            return RegistryManager.getInstance().getServiceGroup(uuid);
-        } catch (Exception e) {
-            throw new AutoScalerException("Error occurred while retrieving cartridge group", e);
-        }
-    }
-
-	public ServiceGroup getServiceGroupByTenant(String name,int tenantId) {
-        ServiceGroup selectedGroup=null;
-		if (StringUtils.isEmpty(name)) {
-			return null;
-		}
-		try {
-            ServiceGroup[] serviceGroups=getServiceGroupsByTenant(tenantId);
-            for(ServiceGroup serviceGroup:serviceGroups) {
-                if (serviceGroup.getName().equals(name)) {
-                    selectedGroup = serviceGroup;
-                    return selectedGroup;
-                }
-            }
-            for(ServiceGroup serviceGroup:serviceGroups) {
-                ServiceGroup[] innerGroups=serviceGroup.getGroups();
-                   while(innerGroups!=null){
-                       for(ServiceGroup nestedGroup:innerGroups) {
-                           if(nestedGroup.getName().equals(name)){
-                               return nestedGroup;
-                           }
-                           else {
-                               innerGroups = nestedGroup.getGroups();
-                           }
-                       }
-                   }
-            }
-            return selectedGroup;
-		} catch (Exception e) {
-			throw new AutoScalerException("Error occurred while retrieving cartridge group", e);
-		}
-	}
-
-    public ServiceGroup getOuterServiceGroupByTenant(String name, int tenantId) {
-        ServiceGroup outerGroup = null;
+    public ServiceGroup getServiceGroup(String name) {
         if (StringUtils.isEmpty(name)) {
             return null;
         }
         try {
-            ServiceGroup[] serviceGroups = getServiceGroupsByTenant(tenantId);
-            for (ServiceGroup serviceGroup : serviceGroups) {
-                if (serviceGroup.getName().equals(name)) {
-                    outerGroup = serviceGroup;
-                    break;
-                }
-            }
-            return outerGroup;
+            return RegistryManager.getInstance().getServiceGroup(name);
         } catch (Exception e) {
             throw new AutoScalerException("Error occurred while retrieving cartridge group", e);
         }
     }
 
-    public DeploymentPolicy getDeploymentPolicyByTenant(String deploymentPolicyId, int tenantId) {
-        DeploymentPolicy[] deploymentPolicies = getDeploymentPolicies();
-        for(DeploymentPolicy deploymentPolicy : deploymentPolicies) {
-            if(deploymentPolicy.getId().equals(deploymentPolicyId ) && deploymentPolicy.getTenantId() == tenantId) {
-                return deploymentPolicy;
-            }
-        }
-        return null;
-    }
-
     @Override
     public String findClusterId(String applicationId, String alias) {
         try {
@@ -984,19 +787,6 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         return RegistryManager.getInstance().getServiceGroups();
     }
 
-    public ServiceGroup[] getServiceGroupsByTenant(int tenantId) {
-        List<ServiceGroup> serviceGroups = new ArrayList<ServiceGroup>();
-        ServiceGroup[] allGroups = getServiceGroups();
-        if(allGroups != null) {
-            for (ServiceGroup serviceGroup : allGroups) {
-                if (serviceGroup.getTenantId() == tenantId) {
-                    serviceGroups.add(serviceGroup);
-                }
-            }
-        }
-        return serviceGroups.toArray(new ServiceGroup[serviceGroups.size()]);
-    }
-
     public boolean serviceGroupExist(String serviceName) {
         return false;
     }
@@ -1028,32 +818,15 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         AutoscalerUtil.validateApplicationPolicy(applicationPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Adding application policy: [tenant-id] %d [application-policy-uuid] %s " +
-                    "[application-policy-id] %s", applicationPolicy.getTenantId(), applicationPolicy.getUuid(),
-                    applicationPolicy.getId()));
+            log.info("Adding application policy: [application-policy-id] " + applicationPolicy.getId());
         }
         if (log.isDebugEnabled()) {
             log.debug("Application policy definition: " + applicationPolicy.toString());
         }
 
-        String applicationPolicyId = applicationPolicy.getId();
-        boolean isExist = PolicyManager.getInstance().checkApplicationPolicyInTenant
-                (applicationPolicy.getId(), applicationPolicy.getTenantId());
-        if (isExist) {
-            String message = String.format("Application policy already exists: [tenant-id] %d " +
-                    "[application-policy-uuid] %s [application-policy-id] %s", applicationPolicy.getTenantId(),
-                    applicationPolicy.getUuid(), applicationPolicy.getId());
-            log.error(message);
-            throw new ApplicationPolicyAlreadyExistsException(message);
-        }
-
-        String applicationPolicyUuid = applicationPolicy.getUuid();
-        if (PolicyManager.getInstance().getApplicationPolicyByUuid(applicationPolicyUuid) != null && PolicyManager
-                .getInstance().getApplicationPolicyByUuid(applicationPolicyUuid).getTenantId() == applicationPolicy
-                .getTenantId()) {
-            String message = String.format("Application policy already exists: [tenant-id] %d " +
-                            "[application-policy-uuid] %s [application-policy-id] %s", applicationPolicy.getTenantId(),
-                    applicationPolicy.getUuid(), applicationPolicy.getId());
+        String applicationPolicyID = applicationPolicy.getId();
+        if (PolicyManager.getInstance().getApplicationPolicy(applicationPolicyID) != null) {
+            String message = "Application policy already exists: [application-policy-id] " + applicationPolicyID;
             log.error(message);
             throw new ApplicationPolicyAlreadyExistsException(message);
         }
@@ -1064,44 +837,18 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     @Override
-    public ApplicationPolicy getApplicationPolicyByUuid(String applicationPolicyUuid) {
-        return PolicyManager.getInstance().getApplicationPolicyByUuid(applicationPolicyUuid);
-    }
-
-    @Override
-    public ApplicationPolicy getApplicationPolicy(String applicationPolicyId, int tenantId) {
-        ApplicationPolicy[] applicationPolicies = getApplicationPolicies();
-        ApplicationPolicy applicationPolicy = null;
-        if (applicationPolicies != null) {
-            for (ApplicationPolicy applicationPolicy1 : applicationPolicies) {
-                if (applicationPolicy1.getTenantId() == tenantId && applicationPolicy1.getId().equals
-                        (applicationPolicyId)) {
-                    applicationPolicy = applicationPolicy1;
-                }
-            }
-        }
-        return applicationPolicy;
+    public ApplicationPolicy getApplicationPolicy(String applicationPolicyId) {
+        return PolicyManager.getInstance().getApplicationPolicy(applicationPolicyId);
     }
 
-	@Override
-	public ApplicationPolicy getApplicationPolicyByTenant(String applicationPolicyId,int tenantId) {
-		ApplicationPolicy[] applicationPolicies=getApplicationPolicies();
-		for(ApplicationPolicy applicationPolicy:applicationPolicies){
-			if(applicationPolicy.getId().equals(applicationPolicyId)&&applicationPolicy.getTenantId()==tenantId){
-				return applicationPolicy;
-			}
-		}
-		return null;
-	}
-
     @Override
     public boolean removeApplicationPolicy(String applicationPolicyId) throws InvalidPolicyException, UnremovablePolicyException {
 
         if (removableApplicationPolicy(applicationPolicyId)) {
             return PolicyManager.getInstance().removeApplicationPolicy(applicationPolicyId);
         } else {
-            throw new UnremovablePolicyException(String.format("Application policy cannot be removed, " +
-                    "since it is used in applications: [application-policy-id] %s", applicationPolicyId));
+            throw new UnremovablePolicyException("This application policy cannot be removed, since it is used in " +
+                    "applications.");
         }
     }
 
@@ -1125,7 +872,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
             throw new InvalidApplicationPolicyException(msg);
         }
 
-        String applicationPolicyId = applicationPolicy.getUuid();
+        String applicationPolicyId = applicationPolicy.getId();
         ApplicationPolicy existingApplicationPolicy = PolicyManager.getInstance().getApplicationPolicy(applicationPolicyId);
         if (existingApplicationPolicy == null) {
             String msg = String.format("No such application policy found [application-policy-id] %s", applicationPolicyId);
@@ -1146,53 +893,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         return PolicyManager.getInstance().getApplicationPolicies();
     }
 
-
-    @Override
-    public ApplicationPolicy[] getApplicationPoliciesByTenant(int tenantId) {
-        ApplicationPolicy[] allApplicationPolicies = getApplicationPolicies();
-        List<ApplicationPolicy> applicationPolicies = new ArrayList<ApplicationPolicy>();
-
-        if (allApplicationPolicies != null) {
-            for (ApplicationPolicy applicationPolicy : allApplicationPolicies) {
-                if (applicationPolicy.getTenantId() == tenantId) {
-                    applicationPolicies.add(applicationPolicy);
-                }
-            }
-        }
-        return applicationPolicies.toArray(new ApplicationPolicy[applicationPolicies.size()]);
-    }
-
-	@Override
-	public boolean validateNetworkPartitionWithApplication(String networkPartitionId, int tenantId)
-			throws PartitionValidationException {
-
-		ApplicationContext[] applicationContexts = getApplicationsByTenant(tenantId);
-		if (applicationContexts != null) {
-			for (ApplicationContext applicationContext : applicationContexts) {
-				if (applicationContext != null) {
-					String[] networkPartitions = getApplicationNetworkPartitions(
-							applicationContext.getApplicationUuid());
-					if (networkPartitions != null) {
-						for (int i = 0; i < networkPartitions.length; i++) {
-							if (networkPartitions[i].equals(networkPartitionId)) {
-								String message = String.format("Cannot remove the network partition since it is used" +
-                                                " in application: [tenant-id] %d [network-partition-id] %s " +
-                                                "[application-uuid] %s [application-id] %s", tenantId,
-                                        networkPartitionId, applicationContext.getApplicationUuid(),
-                                        applicationContext.getApplicationId());
-								log.error(message);
-								throw new PartitionValidationException(message);
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return true;
-	}
-
-	private void terminateAllMembersAndClustersForcefully(String applicationId) {
+    private void terminateAllMembersAndClustersForcefully(String applicationId) {
         if (StringUtils.isEmpty(applicationId)) {
             throw new IllegalArgumentException("Application Id cannot be empty");
         }
@@ -1212,30 +913,30 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         Set<ClusterDataHolder> allClusters = application.getClusterDataRecursively();
         for (ClusterDataHolder clusterDataHolder : allClusters) {
-            String serviceUuid = clusterDataHolder.getServiceUuid();
+            String serviceType = clusterDataHolder.getServiceType();
             String clusterId = clusterDataHolder.getClusterId();
 
             Cluster cluster;
             try {
-                TopologyManager.acquireReadLockForCluster(serviceUuid, clusterId);
-                cluster = TopologyManager.getTopology().getService(serviceUuid).getCluster(clusterId);
+                TopologyManager.acquireReadLockForCluster(serviceType, clusterId);
+                cluster = TopologyManager.getTopology().getService(serviceType).getCluster(clusterId);
             } finally {
-                TopologyManager.releaseReadLockForCluster(serviceUuid, clusterId);
+                TopologyManager.releaseReadLockForCluster(serviceType, clusterId);
             }
 
             //If there are no members in cluster Instance, send cluster Terminated Event
             //Stopping the cluster monitor thread
             ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().
                     getClusterMonitor(clusterId);
-            if(clusterMonitor != null) {
+            if (clusterMonitor != null) {
                 clusterMonitor.destroy();
             } else {
-                if(log.isDebugEnabled()) {
+                if (log.isDebugEnabled()) {
                     log.debug(String.format("Cluster monitor cannot be found for [application] %s " +
                             "[cluster] %s", applicationId, clusterId));
                 }
             }
-            if(cluster != null) {
+            if (cluster != null) {
                 Collection<ClusterInstance> allClusterInstances = cluster.getClusterInstances();
                 for (ClusterInstance clusterInstance : allClusterInstances) {
                     ClusterStatusEventPublisher.sendClusterTerminatedEvent(applicationId, cluster.getServiceName(),
@@ -1271,40 +972,23 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         validateDeploymentPolicy(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Adding deployment policy: [tenant-id] %d [deployment-policy-uuid] %s " +
-                    "[deployment-policy-id] %s ",deploymentPolicy.getTenantId(), deploymentPolicy.getUuid(),
-                    deploymentPolicy.getId()));
+            log.info("Adding deployment policy: [deployment-policy-id] " + deploymentPolicy.getDeploymentPolicyID());
         }
         if (log.isDebugEnabled()) {
             log.debug("Deployment policy definition: " + deploymentPolicy.toString());
         }
 
-        String deploymentPolicyUuid = deploymentPolicy.getUuid();
-        if (PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyUuid) != null) {
-            String message = String.format("Deployment policy already exists: [tenant-id] %d [deployment-policy-uuid]" +
-                            " %s [deployment-policy-id] %s ",deploymentPolicy.getTenantId(), deploymentPolicy.getUuid(),
-                    deploymentPolicy.getId());
-            log.error(message);
-            throw new DeploymentPolicyAlreadyExistsException(message);
-        }
-
-        String deploymentPolicyId = deploymentPolicy.getId();
-        if (PolicyManager.getInstance().getDeploymentPolicyById(deploymentPolicyId) != null && PolicyManager
-                .getInstance().getDeploymentPolicyById(deploymentPolicyId).getTenantId() == deploymentPolicy.getTenantId()) {
-            String message = String.format("Deployment policy already exists: [tenant-id] %d [deployment-policy-uuid]" +
-                            " %s [deployment-policy-id] %s ",deploymentPolicy.getTenantId(), deploymentPolicy.getUuid(),
-                    deploymentPolicy.getId());
+        String deploymentPolicyID = deploymentPolicy.getDeploymentPolicyID();
+        if (PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID) != null) {
+            String message = "Deployment policy already exists: [deployment-policy-id] " + deploymentPolicyID;
             log.error(message);
             throw new DeploymentPolicyAlreadyExistsException(message);
         }
-
         // Add cartridge to the cloud controller context and persist
         PolicyManager.getInstance().addDeploymentPolicy(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Successfully added deployment policy: [tenant-id] %d [deployment-policy-uuid]" +
-                            " %s [deployment-policy-id] %s ",deploymentPolicy.getTenantId(), deploymentPolicy.getUuid(),
-                    deploymentPolicy.getId()));
+            log.info("Successfully added deployment policy: [deployment-policy-id] " + deploymentPolicyID);
         }
         return true;
     }
@@ -1324,8 +1008,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         }
 
         // deployment policy id can't be null or empty
-        String deploymentPolicyUuid = deploymentPolicy.getUuid();
-        String deploymentPolicyId = deploymentPolicy.getId();
+        String deploymentPolicyId = deploymentPolicy.getDeploymentPolicyID();
         if (StringUtils.isBlank(deploymentPolicyId)) {
             String msg = String.format("Deployment policy id is blank");
             log.error(msg);
@@ -1334,99 +1017,80 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         // deployment policy should contain at least one network partition reference
         if (null == deploymentPolicy.getNetworkPartitionRefs() || deploymentPolicy.getNetworkPartitionRefs().length == 0) {
-            String message = String.format("Deployment policy does not have any network partition references: " +
-                    "[tenant-id] %d [deployment-policy-uuid] %s [deployment-policy-id] %s",
-                    deploymentPolicy.getTenantId(), deploymentPolicyUuid, deploymentPolicyId);
-            log.error(message);
-            throw new InvalidDeploymentPolicyException(message);
+            String msg = String.format("Deployment policy does not have any network partition references: " +
+                    "[deployment-policy-id] %s", deploymentPolicyId);
+            log.error(msg);
+            throw new InvalidDeploymentPolicyException(msg);
         }
 
         // validate each network partition references
         for (NetworkPartitionRef networkPartitionRef : deploymentPolicy.getNetworkPartitionRefs()) {
             // network partition id can't be null or empty
-            //String networkPartitionUuid = networkPartitionRef.getUuid();
             String networkPartitionId = networkPartitionRef.getId();
             if (StringUtils.isBlank(networkPartitionId)) {
-                String message = String.format("Network partition id is blank: [tenant-id] " +
-                        "%d [deployment-policy-uuid] %s [deployment-policy-id] %s", deploymentPolicy.getTenantId(),
-                        deploymentPolicyUuid, deploymentPolicyId);
-                log.error(message);
-                throw new InvalidDeploymentPolicyException(message);
+                String msg = String.format("Network partition id is blank: [deployment-policy-id] %s",
+                        deploymentPolicyId);
+                log.error(msg);
+                throw new InvalidDeploymentPolicyException(msg);
             }
 
             // network partitions should be already added
-            NetworkPartition[] networkPartitions = CloudControllerServiceClient.getInstance().getNetworkPartitions();
-            NetworkPartition networkPartitionForTenant = null;
-            if (networkPartitions != null) {
-                for (NetworkPartition networkPartition : networkPartitions) {
-                    if (deploymentPolicy.getTenantId() == networkPartition.getTenantId() && networkPartition.getId()
-                            .equals(networkPartitionRef.getId())) {
-                        networkPartitionForTenant = networkPartition;
-                    }
-                }
-            }
-            if (networkPartitionForTenant == null) {
-                String message = String.format("Network partition not found: [tenant-id] %d " +
-                                "[deployment-policy-uuid] %s [deployment-policy-id] %s [network-partition-id] %s",
-                        deploymentPolicy.getTenantId(), deploymentPolicyUuid, deploymentPolicyId, networkPartitionId);
-                log.error(message);
-                throw new InvalidDeploymentPolicyException(message);
+            NetworkPartition networkPartition = CloudControllerServiceClient.getInstance()
+                    .getNetworkPartition(networkPartitionId);
+            if (networkPartition == null) {
+                String msg = String.format("Network partition is not found: [deployment-policy-id] %s " +
+                        "[network-partition-id] %s", deploymentPolicyId, networkPartitionId);
+                log.error(msg);
+                throw new InvalidDeploymentPolicyException(msg);
             }
 
             // network partition - partition id should be already added
             for (PartitionRef partitionRef : networkPartitionRef.getPartitionRefs()) {
-                String partitionUuid = partitionRef.getUuid();
+                String partitionId = partitionRef.getId();
                 boolean isPartitionFound = false;
 
-                for (Partition partition : networkPartitionForTenant.getPartitions()) {
-                    if (partition.getUuid().equals(partitionUuid)) {
+                for (Partition partition : networkPartition.getPartitions()) {
+                    if (partition.getId().equals(partitionId)) {
                         isPartitionFound = true;
                     }
                 }
-                if (!isPartitionFound) {
-                    String message = String.format("Partition not found: [tenant-id] " +
-                                    "%d [deployment-policy-uuid] %s [deployment-policy-id] %s [network-partition-id] " +
-                                    "%s [network=partition-uuid] %s [partition-id] %s ",
-                            deploymentPolicy.getTenantId(), deploymentPolicy.getUuid(), deploymentPolicyId,
-                            networkPartitionRef.getUuid(), networkPartitionId, partitionRef.getId());
-                    log.error(message);
-                    throw new InvalidDeploymentPolicyException(message);
+                if (isPartitionFound == false) {
+                    String msg = String.format("Partition Id is not found: [deployment-policy-id] %s " +
+                                    "[network-partition-id] %s [partition-id] %s",
+                            deploymentPolicyId, networkPartitionId, partitionId);
+                    log.error(msg);
+                    throw new InvalidDeploymentPolicyException(msg);
                 }
             }
 
             // partition algorithm can't be null or empty
             String partitionAlgorithm = networkPartitionRef.getPartitionAlgo();
             if (StringUtils.isBlank(partitionAlgorithm)) {
-                String message = String.format("Partition algorithm is blank: [tenant-id] %d " +
-                                "[deployment-policy-uuid] %s [deployment-policy-id] %s [network-partition-uuid] %s " +
+                String msg = String.format("Partition algorithm is blank: [deployment-policy-id] %s " +
                                 "[network-partition-id] %s [partition-algorithm] %s",
-                        deploymentPolicy.getTenantId(), deploymentPolicyUuid, deploymentPolicyId,
-                        networkPartitionRef.getUuid(), networkPartitionId, partitionAlgorithm);
-                log.error(message);
-                throw new InvalidDeploymentPolicyException(message);
+                        deploymentPolicyId, networkPartitionId, partitionAlgorithm);
+                log.error(msg);
+                throw new InvalidDeploymentPolicyException(msg);
             }
 
             // partition algorithm should be either one-after-another or round-robin
             if ((!StratosConstants.PARTITION_ROUND_ROBIN_ALGORITHM_ID.equals(partitionAlgorithm))
                     && (!StratosConstants.PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID.equals(partitionAlgorithm))) {
-                String message = String.format("Partition algorithm is not valid: [tenant-id] %d " +
-                                "[deployment-policy-uuid] %s [deployment-policy-id] %s [network-partition-uuid] %s " +
-                                "[network-partition-id] %s [partition-algorithm] %s", deploymentPolicy.getTenantId(),
-                        deploymentPolicyUuid, deploymentPolicyId, networkPartitionRef.getUuid(), networkPartitionId,
-                        partitionAlgorithm);
-                log.error(message);
-                throw new InvalidDeploymentPolicyException(message);
+                String msg = String.format("Partition algorithm is not valid: [deployment-policy-id] %s " +
+                                "[network-partition-id] %s [partition-algorithm] %s. : " +
+                                "Partition algorithm should be either one-after-another or round-robin ",
+                        deploymentPolicyId, networkPartitionId, partitionAlgorithm);
+                log.error(msg);
+                throw new InvalidDeploymentPolicyException(msg);
             }
 
             // a network partition reference should contain at least one partition reference
             PartitionRef[] partitions = networkPartitionRef.getPartitionRefs();
             if (null == partitions || partitions.length == 0) {
-                String message = String.format("Network partition does not have any partition references: " +
-                                "[tenant-id] %d [deployment-policy-uuid] %s [deployment-policy-id] %s " +
-                                "[network-partition-uuid] %s [network-partition-id] %s ", deploymentPolicy.getTenantId(),
-                        deploymentPolicyUuid, deploymentPolicyId, networkPartitionRef.getUuid(), networkPartitionId);
-                log.error(message);
-                throw new InvalidDeploymentPolicyException(message);
+                String msg = String.format("Network partition does not have any partition references: "
+                        + "[deployment-policy-id] %s [network-partition-id] %s", deploymentPolicyId, networkPartitionId);
+                log.error(msg);
+                throw new InvalidDeploymentPolicyException(msg);
             }
         }
     }
@@ -1438,19 +1102,15 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         validateDeploymentPolicy(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Updating deployment policy: [tenant-id] %d [deployment-policy-uuid] %s " +
-                            "[deployment-policy-id] %s", deploymentPolicy.getTenantId(), deploymentPolicy.getUuid(),
-                    deploymentPolicy.getId()));
+            log.info("Updating deployment policy: [deployment-policy-id] " + deploymentPolicy.getDeploymentPolicyID());
         }
         if (log.isDebugEnabled()) {
             log.debug("Updating Deployment policy definition: " + deploymentPolicy.toString());
         }
 
-        String deploymentPolicyUuid = deploymentPolicy.getUuid();
-        if (PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyUuid) == null) {
-            String message = String.format("Deployment policy not exists: [tenant-id] %d [deployment-policy-uuid] " +
-                    "%s [deployment-policy-id] %s", deploymentPolicy.getTenantId(), deploymentPolicyUuid,
-                    deploymentPolicy.getId());
+        String deploymentPolicyID = deploymentPolicy.getDeploymentPolicyID();
+        if (PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID) == null) {
+            String message = "Deployment policy not exists: [deployment-policy-id] " + deploymentPolicyID;
             log.error(message);
             throw new DeploymentPolicyNotExistsException(message);
         }
@@ -1460,9 +1120,7 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         updateClusterMonitors(deploymentPolicy);
 
         if (log.isInfoEnabled()) {
-            log.info(String.format("Successfully updated deployment policy: [tenant-id] %d [deployment-policy-uuid] " +
-                            "%s [deployment-policy-id] %s", deploymentPolicy.getTenantId(), deploymentPolicyUuid,
-                    deploymentPolicy.getId()));
+            log.info("Successfully updated deployment policy: [deployment-policy-id] " + deploymentPolicyID);
         }
         return true;
     }
@@ -1472,30 +1130,30 @@ public class AutoscalerServiceImpl implements AutoscalerService {
 
         for (ClusterMonitor clusterMonitor : AutoscalerContext.getInstance().getClusterMonitors().values()) {
             //Following if statement checks the relevant clusters for the updated deployment policy
-            if (deploymentPolicy.getUuid().equals(clusterMonitor.getDeploymentPolicyId())) {
+            if (deploymentPolicy.getDeploymentPolicyID().equals(clusterMonitor.getDeploymentPolicyId())) {
                 for (NetworkPartitionRef networkPartition : deploymentPolicy.getNetworkPartitionRefs()) {
                     NetworkPartitionContext clusterLevelNetworkPartitionContext
                             = clusterMonitor.getClusterContext().getNetworkPartitionCtxt(networkPartition.getId());
                     if (clusterLevelNetworkPartitionContext != null) {
                         try {
                             addNewPartitionsToClusterMonitor(clusterLevelNetworkPartitionContext, networkPartition,
-                                    deploymentPolicy.getUuid(), clusterMonitor.getClusterContext().getServiceId());
+                                    deploymentPolicy.getDeploymentPolicyID(), clusterMonitor.getClusterContext().getServiceId());
                         } catch (RemoteException e) {
 
                             String message = "Connection to cloud controller failed, Cluster monitor update failed for" +
-                                    " [deployment-policy] " + deploymentPolicy.getId();
+                                    " [deployment-policy] " + deploymentPolicy.getDeploymentPolicyID();
                             log.error(message);
                             throw new CloudControllerConnectionException(message, e);
                         } catch (CloudControllerServiceInvalidPartitionExceptionException e) {
 
                             String message = "Invalid partition, Cluster monitor update failed for [deployment-policy] "
-                                    + deploymentPolicy.getId();
+                                    + deploymentPolicy.getDeploymentPolicyID();
                             log.error(message);
                             throw new InvalidDeploymentPolicyException(message, e);
                         } catch (CloudControllerServiceInvalidCartridgeTypeExceptionException e) {
 
                             String message = "Invalid cartridge type, Cluster monitor update failed for [deployment-policy] "
-                                    + deploymentPolicy.getId() + " [cartridge] "
+                                    + deploymentPolicy.getDeploymentPolicyID() + " [cartridge] "
                                     + clusterMonitor.getClusterContext().getServiceId();
                             log.error(message);
                             throw new InvalidDeploymentPolicyException(message, e);
@@ -1549,14 +1207,15 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         for (PartitionRef partition : networkPartitionRef.getPartitionRefs()) {
 
             //Iterating through instances
-            for (InstanceContext instanceContext : clusterLevelNetworkPartitionContext.getInstanceIdToInstanceContextMap().values()) {
+            for (InstanceContext instanceContext : clusterLevelNetworkPartitionContext.
+                    getInstanceIdToInstanceContextMap().values()) {
 
                 ClusterInstanceContext clusterInstanceContext = (ClusterInstanceContext) instanceContext;
-                if (null == clusterInstanceContext.getPartitionCtxt(partition.getUuid())) {
+                if (null == clusterInstanceContext.getPartitionCtxt(partition.getId())) {
 
                     //It has found that this partition which is in deployment policy/network partition is new
                     ClusterLevelPartitionContext clusterLevelPartitionContext = new ClusterLevelPartitionContext(
-                            partition, networkPartitionRef.getUuid(), deploymentPolicyID);
+                            partition, networkPartitionRef.getId(), deploymentPolicyID);
                     validationOfNetworkPartitionRequired = true;
                     clusterInstanceContext.addPartitionCtxt(clusterLevelPartitionContext);
                 }
@@ -1571,48 +1230,37 @@ public class AutoscalerServiceImpl implements AutoscalerService {
     }
 
     @Override
-    public boolean removeDeployementPolicy(String deploymentPolicyId) throws DeploymentPolicyNotExistsException,
+    public boolean removeDeployementPolicy(String deploymentPolicyID) throws DeploymentPolicyNotExistsException,
             UnremovablePolicyException {
         if (log.isInfoEnabled()) {
-            log.info("Removing deployment policy: [deployment-policy_id] " + deploymentPolicyId);
+            log.info("Removing deployment policy: [deployment-policy_id] " + deploymentPolicyID);
         }
-        if (PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId) == null) {
-            String message = "Deployment policy not exists: [deployment-policy-id] " + deploymentPolicyId;
+        if (PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID) == null) {
+            String message = "Deployment policy not exists: [deployment-policy-id] " + deploymentPolicyID;
             log.error(message);
             throw new DeploymentPolicyNotExistsException(message);
         }
-        if (removableDeploymentPolicy(deploymentPolicyId)) {
-            PolicyManager.getInstance().removeDeploymentPolicy(deploymentPolicyId);
+        if (AutoscalerUtil.removableDeploymentPolicy(deploymentPolicyID)) {
+            PolicyManager.getInstance().removeDeploymentPolicy(deploymentPolicyID);
         } else {
             throw new UnremovablePolicyException("This deployment policy cannot be removed, since it is used in an " +
                     "application.");
         }
         if (log.isInfoEnabled()) {
-            log.info("Successfully removed deployment policy: [deployment_policy_id] " + deploymentPolicyId);
+            log.info("Successfully removed deployment policy: [deployment_policy_id] " + deploymentPolicyID);
         }
         return true;
     }
 
     @Override
-    public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyId) {
+    public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyID) {
         if (log.isDebugEnabled()) {
-            log.debug("Getting deployment policy: [deployment-policy_id] " + deploymentPolicyId);
+            log.debug("Getting deployment policy: [deployment-policy_id] " + deploymentPolicyID);
         }
-        return PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyId);
+        return PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyID);
     }
 
-	@Override
-	public DeploymentPolicy getDeploymentPolicyForTenant(String deploymentPolicyID, int tenantId) {
-		DeploymentPolicy[] deploymentPolicies=getDeploymentPolicies();
-		for(DeploymentPolicy deploymentPolicy:deploymentPolicies){
-			if(deploymentPolicy.getId().equals(deploymentPolicyID)&&(deploymentPolicy.getTenantId()==tenantId)){
-				return  deploymentPolicy;
-			}
-		}
-		return null;
-	}
-
-	@Override
+    @Override
     public DeploymentPolicy[] getDeploymentPolicies() {
         try {
             Collection<DeploymentPolicy> deploymentPolicies = PolicyManager.getInstance().getDeploymentPolicies();
@@ -1624,19 +1272,4 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         }
     }
 
-    @Override
-    public DeploymentPolicy[] getDeploymentPoliciesByTenant(int tenantId) {
-        DeploymentPolicy[] allDeploymentPolicies = getDeploymentPolicies();
-        List<DeploymentPolicy> deploymentPolicies = new ArrayList<DeploymentPolicy>();
-
-        if (allDeploymentPolicies != null) {
-            for (DeploymentPolicy deploymentPolicy : allDeploymentPolicies) {
-                if (deploymentPolicy.getTenantId() == tenantId) {
-                    deploymentPolicies.add(deploymentPolicy);
-                }
-            }
-        }
-        return deploymentPolicies.toArray(new DeploymentPolicy[deploymentPolicies.size()]);
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java
index a3c97d3..7706bb8 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java
@@ -132,7 +132,7 @@ public class GroupStatusInactiveProcessor extends GroupStatusProcessor {
                                           String instanceId) {
         for (Map.Entry<String, ClusterDataHolder> clusterDataHolderEntry : clusterData.entrySet()) {
             Service service = TopologyManager.getTopology().
-                    getService(clusterDataHolderEntry.getValue().getServiceUuid());
+                    getService(clusterDataHolderEntry.getValue().getServiceType());
             Cluster cluster = service.getCluster(clusterDataHolderEntry.getValue().getClusterId());
             ClusterInstance context = cluster.getInstanceContexts(instanceId);
             if (context != null) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessor.java
index 4a51f61..e4ae474 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessor.java
@@ -99,7 +99,7 @@ public abstract class GroupStatusProcessor extends StatusProcessor {
                                                ClusterStatus status, String instanceId) {
         boolean clusterStat = false;
         for (Map.Entry<String, ClusterDataHolder> clusterDataHolderEntry : clusterData.entrySet()) {
-            String serviceName = clusterDataHolderEntry.getValue().getServiceUuid();
+            String serviceName = clusterDataHolderEntry.getValue().getServiceType();
             String clusterId = clusterDataHolderEntry.getValue().getClusterId();
             TopologyManager.acquireReadLockForCluster(serviceName, clusterId);
             try {

http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerObjectConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerObjectConverter.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerObjectConverter.java
index 131fa26..609d36c 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerObjectConverter.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerObjectConverter.java
@@ -62,7 +62,7 @@ public class AutoscalerObjectConverter {
         org.apache.stratos.cloud.controller.stub.domain.Partition cloudControllerPartition = new
                 org.apache.stratos.cloud.controller.stub.domain.Partition();
 
-        cloudControllerPartition.setId(partition.getUuid());
+        cloudControllerPartition.setId(partition.getId());
         cloudControllerPartition.setDescription(partition.getDescription());
         cloudControllerPartition.setKubernetesClusterId(partition.getKubernetesClusterId());
         cloudControllerPartition.setProperties(AutoscalerUtil.toStubProperties(partition.getProperties()));
@@ -120,9 +120,8 @@ public class AutoscalerObjectConverter {
     public static PartitionRef convertCCPartitionToPartition(org.apache.stratos.cloud.controller.stub.domain.Partition ccPartition) {
 
         PartitionRef partition = new PartitionRef();
-		partition.setId(ccPartition.getId());
-        partition.setUuid(ccPartition.getUuid());
-	    partition.setTenantId(ccPartition.getTenantId());
+
+        partition.setId(ccPartition.getId());
         partition.setDescription(ccPartition.getDescription());
         partition.setProperties(convertCCPropertiesToProperties(ccPartition.getProperties()));