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/07/08 18:52:32 UTC

[3/3] stratos git commit: Update the cartridge group with uuid

Update the cartridge group with uuid


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

Branch: refs/heads/tenant-isolation
Commit: e0f6286ec3646177e4ac3378467aebe469b040f2
Parents: 5bad93f
Author: Gayan Gunarathne <ga...@wso2.com>
Authored: Wed Jul 8 22:20:09 2015 +0530
Committer: Gayan Gunarathne <ga...@wso2.com>
Committed: Wed Jul 8 22:20:09 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/registry/RegistryManager.java    |  17 +-
 .../autoscaler/services/AutoscalerService.java  |   8 +
 .../services/impl/AutoscalerServiceImpl.java    |  16 +-
 .../beans/cartridge/CartridgeGroupBean.java     |   8 +
 .../common/client/AutoscalerServiceClient.java  |   4 +
 .../rest/endpoint/api/StratosApiV41.java        |  10 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  19 +-
 .../util/converter/ObjectConverter.java         |   2 +-
 .../src/main/resources/AutoscalerService.wsdl   | 542 ++++++++++---------
 9 files changed, 362 insertions(+), 264 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index 4dd7c86..1577adb 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -373,8 +373,8 @@ public class RegistryManager {
         }
     }
 
-    public boolean serviceGroupExist(String serviceGroupName) {
-        String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + serviceGroupName;
+    public boolean serviceGroupExist(String serviceGroupUuid) {
+        String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + serviceGroupUuid;
         return resourceExist(resourcePath);
     }
 
@@ -537,10 +537,10 @@ public class RegistryManager {
         }
     }
 
-    public ServiceGroup getServiceGroup(String name) throws Exception {
+    public ServiceGroup getServiceGroup(String uuid) throws Exception {
         try {
             startTenantFlow();
-            String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + name;
+            String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + uuid;
             Object serializedObj = instance.retrieve(resourcePath);
             ServiceGroup group = null;
             if (serializedObj != null) {
@@ -561,6 +561,15 @@ public class RegistryManager {
         }
     }
 
+	public ServiceGroup getServiceGroup(String name,int tenantId) throws Exception {
+		ServiceGroup[] serviceGroups=getServiceGroups();
+		for(ServiceGroup serviceGroup:serviceGroups){
+			if(serviceGroup.getName().equals(name)&&(serviceGroup.getTenantId()==tenantId)){
+				return serviceGroup;
+			}
+		}
+		return null;
+	}
     public ServiceGroup[] getServiceGroups() {
         try {
             startTenantFlow();

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index e703e39..c7e2264 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -239,6 +239,14 @@ public interface AutoscalerService {
      */
     public ServiceGroup getServiceGroup(String name);
 
+	/**
+	 * Get cartridge group by tenant
+	 * @param name
+	 * @param tenantId
+	 * @return
+	 */
+	public ServiceGroup getServiceGroupByTenant(String name, int tenantId);
+
     /**
      * Find cluster id of an application by subscription alias.
      *

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 2967368..b6cd3c8 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
@@ -836,17 +836,27 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         return true;
     }
 
-    public ServiceGroup getServiceGroup(String name) {
-        if (StringUtils.isEmpty(name)) {
+    public ServiceGroup getServiceGroup(String uuid) {
+        if (StringUtils.isEmpty(uuid)) {
             return null;
         }
         try {
-            return RegistryManager.getInstance().getServiceGroup(name);
+            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) {
+		if (StringUtils.isEmpty(name)) {
+			return null;
+		}
+		try {
+			return RegistryManager.getInstance().getServiceGroup(name,tenantId);
+		} catch (Exception e) {
+			throw new AutoScalerException("Error occurred while retrieving cartridge group", e);
+		}
+	}
     @Override
     public String findClusterId(String applicationId, String alias) {
         try {

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
index b884e90..90d1f6e 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
@@ -76,4 +76,12 @@ public class CartridgeGroupBean implements Serializable {
 	public void setTenantId(int tenantId) {
 		this.tenantId = tenantId;
 	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index 8dc2420..4911fd4 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -184,6 +184,10 @@ public class AutoscalerServiceClient {
         return stub.getServiceGroup(serviceGroupDefinitionName);
     }
 
+	public ServiceGroup getServiceGroupByTenant(String serviceGroupDefinitionName,int tenantId) throws RemoteException {
+		return stub.getServiceGroupByTenant(serviceGroupDefinitionName,tenantId);
+	}
+
     public ServiceGroup[] getServiceGroups() throws RemoteException, AutoscalerServiceAutoScalerExceptionException {
         return stub.getServiceGroups();
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index 7690818..f54c35c 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -533,7 +533,8 @@ public class StratosApiV41 extends AbstractApi {
             CartridgeGroupBean cartridgeGroupBean) throws RestAPIException {
 
         try {
-            StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean);
+	        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean,carbonContext.getTenantId());
             URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build();
 
             return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
@@ -564,7 +565,9 @@ public class StratosApiV41 extends AbstractApi {
     @AuthorizationAction("/permission/admin/stratos/cartridgeGroups/view")
     public Response getCartridgeGroup(
             @PathParam("name") String name) throws RestAPIException {
-        CartridgeGroupBean serviceGroupDefinition = StratosApiV41Utils.getServiceGroupDefinition(name);
+
+	    PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        CartridgeGroupBean serviceGroupDefinition = StratosApiV41Utils.getServiceGroupDefinition(name,carbonContext.getTenantId());
 
         if (serviceGroupDefinition != null) {
             return Response.ok().entity(serviceGroupDefinition).build();
@@ -613,7 +616,8 @@ public class StratosApiV41 extends AbstractApi {
     public Response removeServiceGroup(
             @PathParam("name") String name) throws RestAPIException {
         try {
-            StratosApiV41Utils.removeServiceGroup(name);
+	        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            StratosApiV41Utils.removeServiceGroup(name,carbonContext.getTenantId());
         } catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) {
             return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
                     ResponseMessageBean.ERROR, "Cartridge group not found")).build();

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index f117247..c014466 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -1121,12 +1121,15 @@ public class StratosApiV41Utils {
      * @param cartridgeGroup
      * @throws RestAPIException
      */
-    public static void updateServiceGroup(CartridgeGroupBean cartridgeGroup) throws RestAPIException,
+    public static void updateServiceGroup(CartridgeGroupBean cartridgeGroup,int tenantId) throws RestAPIException,
             InvalidCartridgeGroupDefinitionException {
         try {
+	        AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
+	        cartridgeGroup.setUuid(autoscalerServiceClient.getServiceGroupByTenant(cartridgeGroup.getName(),tenantId).getUuid());
+			cartridgeGroup.setTenantId(tenantId);
             ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(
                     cartridgeGroup);
-            AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
+
 
             StratosManagerServiceClient smServiceClient = getStratosManagerServiceClient();
 
@@ -1249,7 +1252,7 @@ public class StratosApiV41Utils {
      * @return GroupBean
      * @throws RestAPIException
      */
-    public static CartridgeGroupBean getServiceGroupDefinition(String name) throws RestAPIException {
+    public static CartridgeGroupBean getServiceGroupDefinition(String name,int tenantId) throws RestAPIException {
 
         if (log.isDebugEnabled()) {
             log.debug("Reading cartridge group: [group-name] " + name);
@@ -1257,7 +1260,7 @@ public class StratosApiV41Utils {
 
         try {
             AutoscalerServiceClient asServiceClient = AutoscalerServiceClient.getInstance();
-            ServiceGroup serviceGroup = asServiceClient.getServiceGroup(name);
+            ServiceGroup serviceGroup = asServiceClient.getServiceGroupByTenant(name,tenantId);
             if (serviceGroup == null) {
                 return null;
             }
@@ -1310,7 +1313,7 @@ public class StratosApiV41Utils {
      * @param name Group Name
      * @throws RestAPIException
      */
-    public static void removeServiceGroup(String name) throws RestAPIException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
+    public static void removeServiceGroup(String name,int tenantId) throws RestAPIException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
 
         if (log.isDebugEnabled()) {
             log.debug("Removing cartridge group: [name] " + name);
@@ -1321,7 +1324,7 @@ public class StratosApiV41Utils {
 
         // Check whether cartridge group exists
         try {
-            if (asServiceClient.getServiceGroup(name) == null) {
+            if (asServiceClient.getServiceGroupByTenant(name,tenantId) == null) {
                 String message = "Cartridge group: [group-name] " + name + " cannot be removed since it does not exist";
                 log.error(message);
                 throw new RestAPIException(message);
@@ -1334,9 +1337,9 @@ public class StratosApiV41Utils {
                 throw new RestAPIException(message);
             }
 
-            ServiceGroup serviceGroup = asServiceClient.getServiceGroup(name);
+            ServiceGroup serviceGroup = asServiceClient.getServiceGroupByTenant(name,tenantId);
 
-            asServiceClient.undeployServiceGroupDefinition(name);
+            asServiceClient.undeployServiceGroupDefinition(serviceGroup.getUuid());
 
             // Remove the dependent cartridges and cartridge groups from Stratos Manager cache
             // - done after service group has been removed

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index 341c346..10a0757 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -1800,7 +1800,7 @@ public class ObjectConverter {
         List<CartridgeGroupBean> groupsDefinitions = groupBean.getGroups();
         List<String> cartridgesDefinitions = groupBean.getCartridges();
 
-        servicegroup.setName(groupBean.getUuid());
+        servicegroup.setName(groupBean.getName());
 		servicegroup.setUuid(groupBean.getUuid());
 	    servicegroup.setTenantId(groupBean.getTenantId());