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/08/11 13:03:02 UTC

[1/2] stratos git commit: Fixing issues in integration tests

Repository: stratos
Updated Branches:
  refs/heads/tenant-isolation 17c067139 -> 7dc733655


Fixing issues in integration tests


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

Branch: refs/heads/tenant-isolation
Commit: efa9ce53cf1667b20643524b1798ee888abf1c3d
Parents: 17c0671
Author: Dinithi <di...@wso2.com>
Authored: Mon Aug 10 23:18:20 2015 +0530
Committer: Dinithi <di...@wso2.com>
Committed: Mon Aug 10 23:18:20 2015 +0530

----------------------------------------------------------------------
 .../rest/endpoint/api/StratosApiV41.java        |   8 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   | 116 +++++++++++--------
 .../util/converter/ObjectConverter.java         |   1 +
 .../application/SampleApplicationsTest.java     |  18 +--
 4 files changed, 79 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/efa9ce53/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 fe548d4..7ca3070 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
@@ -886,7 +886,7 @@ public class StratosApiV41 extends AbstractApi {
     @AuthorizationAction("/permission/admin/stratos/applications/view")
     public Response getApplication(
             @PathParam("applicationId") String applicationId) throws RestAPIException {
-	    PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
         ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId,carbonContext.getTenantId());
         if (applicationDefinition == null) {
             return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
@@ -1292,7 +1292,7 @@ public class StratosApiV41 extends AbstractApi {
     public Response undeployApplication(
             @PathParam("applicationId") String applicationId, @QueryParam("force") @DefaultValue("false") boolean force)
             throws RestAPIException {
-	    PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
         ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId,
                 carbonContext.getTenantId());
         if (applicationDefinition == null) {
@@ -1362,7 +1362,7 @@ public class StratosApiV41 extends AbstractApi {
     @AuthorizationAction("/permission/admin/stratos/applications/manage")
     public Response removeApplication(
             @PathParam("applicationId") String applicationId) throws RestAPIException {
-	    PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
         ApplicationBean applicationDefinition = StratosApiV41Utils.getApplication(applicationId,carbonContext.getTenantId());
         if (applicationDefinition == null) {
             return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
@@ -1954,7 +1954,7 @@ public class StratosApiV41 extends AbstractApi {
             PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
             KubernetesCluster kubernetesCluster = CloudControllerServiceClient.getInstance().getKubernetesClusterByTenantId
                     (kubernetesClusterBean
-                    .getClusterId(), carbonContext.getTenantId());
+                            .getClusterId(), carbonContext.getTenantId());
             StratosApiV41Utils.updateKubernetesCluster(kubernetesClusterBean, kubernetesCluster.getClusterUuid(),
                     kubernetesCluster.getTenantId());
             URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesCluster.getClusterUuid()).build();

http://git-wip-us.apache.org/repos/asf/stratos/blob/efa9ce53/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 aa4239d..d67fe4b 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
@@ -233,7 +233,6 @@ public class StratosApiV41Utils {
         } catch (CloudControllerServiceCartridgeNotFoundExceptionException e) {
             String msg = "Could not find existing cartridge";
             log.error(msg, e);
-            e.printStackTrace();
         }
     }
 
@@ -896,18 +895,18 @@ public class StratosApiV41Utils {
 
         AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient();
         if (autoscalerServiceClient != null) {
-	        try {
-		        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
-		        String autoscalerUuid = autoscalerServiceClient
-				        .getAutoScalePolicyForTenant(autoscalePolicyBean.getId(), carbonContext.getTenantId())
-				        .getUuid();
-		        org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy autoscalePolicy =
-				        ObjectConverter.convertToCCAutoscalerPojo(autoscalePolicyBean,autoscalerUuid,carbonContext.getTenantId());
-		        autoscalerServiceClient.updateAutoscalingPolicy(autoscalePolicy);
-	        } catch (RemoteException e) {
-		        log.error(e.getMessage(), e);
-		        throw new RestAPIException(e.getMessage(), e);
-	        }
+            try {
+                PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+                String autoscalerUuid = autoscalerServiceClient
+                        .getAutoScalePolicyForTenant(autoscalePolicyBean.getId(), carbonContext.getTenantId())
+                        .getUuid();
+                org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy autoscalePolicy =
+                        ObjectConverter.convertToCCAutoscalerPojo(autoscalePolicyBean,autoscalerUuid,carbonContext.getTenantId());
+                autoscalerServiceClient.updateAutoscalingPolicy(autoscalePolicy);
+            } catch (RemoteException e) {
+                log.error(e.getMessage(), e);
+                throw new RestAPIException(e.getMessage(), e);
+            }
         }
     }
 
@@ -928,7 +927,7 @@ public class StratosApiV41Utils {
         if (autoscalerServiceClient != null) {
             AutoscalePolicy autoscalePolicyBean;
             try {
-	            PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+                PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
                 autoscalePolicyBean =autoscalerServiceClient.getAutoScalePolicyForTenant(autoscalePolicyId,carbonContext.getTenantId());
                 autoscalerServiceClient.removeAutoscalingPolicy(autoscalePolicyBean.getUuid());
             } catch (RemoteException e) {
@@ -1034,7 +1033,9 @@ public class StratosApiV41Utils {
             log.debug("Checking cartridges in cartridge group " + cartridgeGroupUuid);
         }
 
-
+        ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup
+                (serviceGroupDefinition,UUID.randomUUID().toString(), tenantId);
+        findCartridgesInGroupBean(serviceGroup, cartridgeTypes);
 
         //validate the group definition to check if cartridges duplicate in any groups defined
         validateCartridgeDuplicationInGroupDefinition(serviceGroupDefinition);
@@ -1104,10 +1105,6 @@ public class StratosApiV41Utils {
                         "sub-groups defined:" + duplicatesOutput.toString());
             }
         }
-
-        ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(
-                serviceGroupDefinition,UUID.randomUUID().toString(), tenantId);
-        findCartridgesInGroupBean(serviceGroup, cartridgeTypes);
         AutoscalerServiceClient asServiceClient = getAutoscalerServiceClient();
         try {
             asServiceClient.addServiceGroup(serviceGroup);
@@ -1417,7 +1414,7 @@ public class StratosApiV41Utils {
         if (groupBean.getCartridges() != null) {
             for (String cartridge : groupBean.getCartridges()) {
                 if (!cartridges.contains(cartridge)) {
-                    cartridges.add(groupBean.getUuid());
+                    cartridges.add(cartridge);
                 }
             }
         }
@@ -1561,7 +1558,8 @@ public class StratosApiV41Utils {
      * @param cartridgeGroups List <String> cartridgeGroups
      */
     private static void findCartridgesAndGroupsInApplication(
-            ApplicationBean applicationBean, List<String> cartridges, List<String> cartridgeGroups) {
+            ApplicationBean applicationBean, List<String> cartridges, List<String> cartridgeGroups) throws
+            RemoteException, RestAPIException {
 
         if (applicationBean == null || applicationBean.getComponents() == null) {
             return;
@@ -1587,15 +1585,20 @@ public class StratosApiV41Utils {
      * @param cartridges         List <String>
      * @param cartridgeGroups    List <String>
      */
-    private static void findCartridgesAndGroupsInCartridgeGroup(
-            CartridgeGroupReferenceBean groupReferenceBean, List<String> cartridges, List<String> cartridgeGroups) {
+    private static void findCartridgesAndGroupsInCartridgeGroup(CartridgeGroupReferenceBean groupReferenceBean,
+                                                                List<String> cartridges,
+                                                                List<String> cartridgeGroups) throws RemoteException,
+            RestAPIException {
 
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
         if (groupReferenceBean == null || cartridgeGroups == null) {
             return;
         }
 
         if (!cartridgeGroups.contains(groupReferenceBean.getName())) {
-            cartridgeGroups.add(groupReferenceBean.getUuid());
+            ServiceGroup serviceGroup = AutoscalerServiceClient.getInstance().getServiceGroupByTenant
+                    (groupReferenceBean.getName(), carbonContext.getTenantId());
+            cartridgeGroups.add(serviceGroup.getUuid());
         }
 
         if (groupReferenceBean.getGroups() != null) {
@@ -1615,15 +1618,26 @@ public class StratosApiV41Utils {
      * @param cartridges              List <String>
      */
     private static void findCartridgeNamesInCartridges(
-            List<CartridgeReferenceBean> cartridgeReferenceBeans, List<String> cartridges) {
+            List<CartridgeReferenceBean> cartridgeReferenceBeans, List<String> cartridges) throws RemoteException,
+            RestAPIException {
 
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
         if (cartridgeReferenceBeans == null || cartridges == null) {
             return;
         }
 
         for (CartridgeReferenceBean cartridgeReferenceBean : cartridgeReferenceBeans) {
             if (cartridgeReferenceBean != null && !cartridges.contains(cartridgeReferenceBean.getUuid())) {
-                cartridges.add(cartridgeReferenceBean.getUuid());
+                Cartridge cartridge = null;
+                try {
+                    cartridge = CloudControllerServiceClient.getInstance().getCartridgeByTenant
+                            (cartridgeReferenceBean.getType(), carbonContext.getTenantId());
+                } catch (CloudControllerServiceCartridgeNotFoundExceptionException e) {
+                    String message = e.getFaultMessage().getCartridgeNotFoundException().getMessage();
+                    log.error(message);
+                    throw new RestAPIException(message, e);
+                }
+                cartridges.add(cartridge.getUuid());
             }
         }
     }
@@ -2480,10 +2494,10 @@ public class StratosApiV41Utils {
             throw new RestAPIException("Application id is null");
         }
 
-	    //multi tenant application can be added by only the super tenant.Hence passing the super tenant id to retrieve
-	    // the application
+        //multi tenant application can be added by only the super tenant.Hence passing the super tenant id to retrieve
+        // the application
         ApplicationBean applicationBean = getApplication(applicationId, SUPER_TENANT_ID);
-	    Application application = ApplicationManager.getApplications().getApplicationByTenant(applicationId, SUPER_TENANT_ID);
+        Application application = ApplicationManager.getApplications().getApplicationByTenant(applicationId, SUPER_TENANT_ID);
 
         if ((applicationBean == null) || (application == null)) {
             throw new RestAPIException("Application not found: [application-id] " + applicationId);
@@ -2525,7 +2539,7 @@ public class StratosApiV41Utils {
 
             if (log.isInfoEnabled()) {
                 log.info(String.format("Application signup added successfully: [application-id]" +
-                                " %s [tenant-id] %d", applicationId, tenantId));
+                        " %s [tenant-id] %d", applicationId, tenantId));
             }
 
             serviceClient.notifyArtifactUpdatedEventForSignUp(applicationId, tenantId);
@@ -2674,10 +2688,10 @@ public class StratosApiV41Utils {
             int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
             if (domainMappingsBean.getDomainMappings() != null) {
                 StratosManagerServiceClient serviceClient = StratosManagerServiceClient.getInstance();
-	            String applicationUuid =
-			            AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId, tenantId)
-			                                   .getApplicationUuid();
-	            for (DomainMappingBean domainMappingBean : domainMappingsBean.getDomainMappings()) {
+                String applicationUuid =
+                        AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId, tenantId)
+                                .getApplicationUuid();
+                for (DomainMappingBean domainMappingBean : domainMappingsBean.getDomainMappings()) {
                     ClusterDataHolder clusterDataHolder = findClusterDataHolder(
                             applicationUuid,
                             domainMappingBean.getCartridgeAlias());
@@ -2712,7 +2726,7 @@ public class StratosApiV41Utils {
      * @return ClusterDataHolder
      */
     private static ClusterDataHolder findClusterDataHolder(String applicationId, String cartridgeAlias) {
-	    int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
+        int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
         Application application = ApplicationManager.getApplications().getApplicationByTenant(applicationId,tenantId);
         if (application == null) {
             throw new RuntimeException(String.format("Application not found: [application-id] %s", applicationId));
@@ -2738,9 +2752,9 @@ public class StratosApiV41Utils {
 
         try {
             int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
-	        String applicationUuid =
-			        AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId, tenantId)
-			                               .getApplicationUuid();
+            String applicationUuid =
+                    AutoscalerServiceClient.getInstance().getApplicationByTenant(applicationId, tenantId)
+                            .getApplicationUuid();
             StratosManagerServiceClient serviceClient = StratosManagerServiceClient.getInstance();
 
             if (domainName != null) {
@@ -2912,15 +2926,15 @@ public class StratosApiV41Utils {
 
             NetworkPartition networkPartition = null;
             PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
-	        if(networkPartitions!=null && (networkPartitions.length>0)) {
-		        for (NetworkPartition networkPartition1 : networkPartitions) {
-			        if (carbonContext.getTenantId() == networkPartition1.getTenantId()) {
-				        if (networkPartition1.getId().equals(networkPartitionId)) {
-					        networkPartition = networkPartition1;
-				        }
-			        }
-		        }
-	        }
+            if(networkPartitions!=null && (networkPartitions.length>0)) {
+                for (NetworkPartition networkPartition1 : networkPartitions) {
+                    if (carbonContext.getTenantId() == networkPartition1.getTenantId()) {
+                        if (networkPartition1.getId().equals(networkPartitionId)) {
+                            networkPartition = networkPartition1;
+                        }
+                    }
+                }
+            }
             if (networkPartition == null) {
                 return null;
             }
@@ -3751,11 +3765,11 @@ public class StratosApiV41Utils {
      */
     private static void validateGroupDuplicationInGroupDefinition(CartridgeGroupBean groupBean)
             throws InvalidCartridgeGroupDefinitionException, RemoteException {
-                AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
-                PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
-                ServiceGroup serviceGroup = autoscalerServiceClient.getServiceGroupByTenant(groupBean.getName(),
+        AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        ServiceGroup serviceGroup = autoscalerServiceClient.getServiceGroupByTenant(groupBean.getName(),
                 +                carbonContext.getTenantId());
-                validateGroupDuplicationInGroupDefinition(serviceGroup, new ArrayList<String>());
+        validateGroupDuplicationInGroupDefinition(serviceGroup, new ArrayList<String>());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/stratos/blob/efa9ce53/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 2acb81e..fbb0039 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
@@ -1213,6 +1213,7 @@ public class ObjectConverter {
             for (GroupContext groupContext : groupContexts) {
                 if (groupContext != null) {
                     CartridgeGroupReferenceBean groupDefinition = new CartridgeGroupReferenceBean();
+                    groupDefinition.setUuid(groupContext.getUuid());
                     groupDefinition.setAlias(groupContext.getAlias());
                     groupDefinition.setGroupMaxInstances(groupContext.getGroupMaxInstances());
                     groupDefinition.setGroupMinInstances(groupContext.getGroupMinInstances());

http://git-wip-us.apache.org/repos/asf/stratos/blob/efa9ce53/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
index 2e1c617..2dad064 100644
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SampleApplicationsTest.java
@@ -159,7 +159,7 @@ public class SampleApplicationsTest extends StratosTestServerManager {
             assertEquals(updatedBean.getComponents().getGroups().get(0).getGroups().get(0).getGroups().get(0).getCartridges().get(0).getCartridgeMax(), 3);
 
 
-          /*  boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(removedGroup, false);
 
@@ -175,7 +175,7 @@ public class SampleApplicationsTest extends StratosTestServerManager {
 
             boolean removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-1", RestConstants.DEPLOYMENT_POLICIES_NAME);
-            assertEquals(removedDep, false);   */
+            assertEquals(removedDep, false);
 
             boolean removed = restClient.removeEntity(RestConstants.APPLICATIONS, "g-sc-G123-1",
                     RestConstants.APPLICATIONS_NAME);
@@ -185,7 +185,7 @@ public class SampleApplicationsTest extends StratosTestServerManager {
                     "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+            removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(removedGroup, true);
 
@@ -201,15 +201,15 @@ public class SampleApplicationsTest extends StratosTestServerManager {
                     RestConstants.CARTRIDGES_NAME);
             assertEquals(removedC3, true);
 
-            boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
+            removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
             assertEquals(removedAuto, true);
 
-            boolean removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
+            removedDep = restClient.removeEntity(RestConstants.DEPLOYMENT_POLICIES,
                     "deployment-policy-1", RestConstants.DEPLOYMENT_POLICIES_NAME);
             assertEquals(removedDep, true);
 
-            boolean removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
+            removedNet = restClient.removeEntity(RestConstants.NETWORK_PARTITIONS,
                     "network-partition-1", RestConstants.NETWORK_PARTITIONS_NAME);
             assertEquals(removedNet, true);
 
@@ -323,9 +323,9 @@ public class SampleApplicationsTest extends StratosTestServerManager {
                     "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
             assertEquals(updatedBean.getApplicationId(), "g-sc-G123-1");
 
-          /*  boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(removedGroup, false);      */
+            assertEquals(removedGroup, false);
 
             boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
@@ -371,7 +371,7 @@ public class SampleApplicationsTest extends StratosTestServerManager {
                     "g-sc-G123-1", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
+            removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G1",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(removedGroup, true);
 


[2/2] stratos git commit: Fixing issues in Service Group updation

Posted by ga...@apache.org.
Fixing issues in Service Group updation


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

Branch: refs/heads/tenant-isolation
Commit: 7dc733655256e75d3c38ddf4bafe004672fbfaea
Parents: efa9ce5
Author: Dinithi <di...@wso2.com>
Authored: Tue Aug 11 14:54:51 2015 +0530
Committer: Dinithi <di...@wso2.com>
Committed: Tue Aug 11 14:54:51 2015 +0530

----------------------------------------------------------------------
 .../client/CloudControllerServiceClient.java    |  4 +--
 .../rest/endpoint/api/StratosApiV41Utils.java   | 38 ++++++++------------
 .../application/ApplicationBurstingTest.java    |  6 ++--
 .../application/SingleClusterScalingTest.java   |  6 ++--
 .../tests/group/CartridgeGroupTest.java         | 10 +++---
 5 files changed, 27 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/7dc73365/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
index 0bd9272..dea1e3a 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
@@ -120,9 +120,9 @@ public class CloudControllerServiceClient {
         return stub.getCartridgesByTenant(tenantId);
     }
 
-    public Cartridge getCartridge(String cartridgeType) throws RemoteException,
+    public Cartridge getCartridge(String cartridgeUuid) throws RemoteException,
             CloudControllerServiceCartridgeNotFoundExceptionException {
-        return stub.getCartridge(cartridgeType);
+        return stub.getCartridge(cartridgeUuid);
     }
 
     public Cartridge getCartridgeByTenant(String cartridgeType,int tenantId) throws RemoteException,

http://git-wip-us.apache.org/repos/asf/stratos/blob/7dc73365/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 d67fe4b..5c9ab69 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
@@ -1035,7 +1035,11 @@ public class StratosApiV41Utils {
 
         ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup
                 (serviceGroupDefinition,UUID.randomUUID().toString(), tenantId);
-        findCartridgesInGroupBean(serviceGroup, cartridgeTypes);
+        try {
+            findCartridgesInGroupBean(serviceGroup, cartridgeTypes);
+        } catch (RemoteException e) {
+            throw new RestAPIException(e.getMessage());
+        }
 
         //validate the group definition to check if cartridges duplicate in any groups defined
         validateCartridgeDuplicationInGroupDefinition(serviceGroupDefinition);
@@ -1051,30 +1055,13 @@ public class StratosApiV41Utils {
             throw new RestAPIException(message, e);
         }
 
-
-        CloudControllerServiceClient ccServiceClient = getCloudControllerServiceClient();
-
         cartridgeUuids = new String[cartridgeTypes.size()];
         int j = 0;
-        for (String cartridgeType : cartridgeTypes) {
-            try {
-                Cartridge cartridge = ccServiceClient.getCartridgeByTenant(cartridgeType, tenantId);
-                if (cartridge == null) {
-                    // cartridge is not deployed, can't continue
-                    log.error("Invalid cartridge found in cartridge group " + cartridgeType);
-                    throw new InvalidCartridgeException();
-                } else {
-                    cartridgeUuids[j] = cartridge.getUuid();
-                    j++;
-                }
-            } catch (RemoteException e) {
-                String message = "Could not add the cartridge group: " + cartridgeGroupUuid;
-                log.error(message, e);
-                throw new RestAPIException(message, e);
-            }
+        for (String cartridgeUuid : cartridgeTypes) {
+            cartridgeUuids[j] = cartridgeUuid;
+            j++;
         }
 
-
         // if any sub groups are specified in the group, they should be already deployed
         if (serviceGroupDefinition.getGroups() != null) {
             if (log.isDebugEnabled()) {
@@ -1405,8 +1392,9 @@ public class StratosApiV41Utils {
      * @param groupBean  groupBean
      * @param cartridges List of cartridges
      */
-    private static void findCartridgesInGroupBean(ServiceGroup groupBean, List<String> cartridges) {
-
+    private static void findCartridgesInGroupBean(ServiceGroup groupBean, List<String> cartridges) throws
+            RemoteException, CloudControllerServiceCartridgeNotFoundExceptionException {
+        PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
         if (groupBean == null || cartridges == null) {
             return;
         }
@@ -1414,7 +1402,9 @@ public class StratosApiV41Utils {
         if (groupBean.getCartridges() != null) {
             for (String cartridge : groupBean.getCartridges()) {
                 if (!cartridges.contains(cartridge)) {
-                    cartridges.add(cartridge);
+                    Cartridge cartridge1 = CloudControllerServiceClient.getInstance().getCartridgeByTenant(cartridge,
+                            groupBean.getTenantId());
+                    cartridges.add(cartridge1.getUuid());
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/7dc73365/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/ApplicationBurstingTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/ApplicationBurstingTest.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/ApplicationBurstingTest.java
index 4749faa..a1f2c6a 100644
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/ApplicationBurstingTest.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/ApplicationBurstingTest.java
@@ -123,9 +123,9 @@ public class ApplicationBurstingTest extends StratosTestServerManager {
             //Cluster active handling
             TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId());
 
-        /*    boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
+           boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(removedGroup, false);       */
+            assertEquals(removedGroup, false);
 
             boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
@@ -171,7 +171,7 @@ public class ApplicationBurstingTest extends StratosTestServerManager {
                     "cartridge-group-app", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
+            removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(removedGroup, true);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/7dc73365/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
index 5f2919d..2fd4100 100644
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/SingleClusterScalingTest.java
@@ -123,9 +123,9 @@ public class SingleClusterScalingTest extends StratosTestServerManager {
             //Cluster active handling
             TopologyHandler.getInstance().assertClusterActivation(bean.getApplicationId());
 
-           /* boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
+            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
-            assertEquals(removedGroup, false);    */
+            assertEquals(removedGroup, false);
 
             boolean removedAuto = restClient.removeEntity(RestConstants.AUTOSCALING_POLICIES,
                     autoscalingPolicyId, RestConstants.AUTOSCALING_POLICIES_NAME);
@@ -171,7 +171,7 @@ public class SingleClusterScalingTest extends StratosTestServerManager {
                     "cartridge-group-app", ApplicationBean.class, RestConstants.APPLICATIONS_NAME);
             assertEquals(beanRemoved, null);
 
-            boolean removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
+            removedGroup = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "esb-php-group",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(removedGroup, true);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/7dc73365/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
index 8db4af8..4cd3235 100644
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/group/CartridgeGroupTest.java
@@ -75,7 +75,7 @@ public class CartridgeGroupTest extends StratosTestServerManager {
             assertEquals(String.format("Updated Cartridge Group didn't match: [cartridge-group-name] %s",
                     "g4-g5-g6"), updatedBean.getName(), "G4");
 
-         /*   boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "c4",
+            boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "c4",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(String.format("Cartridge can be removed while it is used in " +
                     "cartridge group: [cartridge-name] %s", "c4"), removedC1, false);
@@ -90,7 +90,7 @@ public class CartridgeGroupTest extends StratosTestServerManager {
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(String.format("Cartridge can be removed while it is used in " +
                             "cartridge group: [cartridge-name] %s",
-                    "c6"), removedC3, false);    */
+                    "c6"), removedC3, false);
 
             boolean removed = restClient.removeEntity(RestConstants.CARTRIDGE_GROUPS, "G4",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
@@ -104,17 +104,17 @@ public class CartridgeGroupTest extends StratosTestServerManager {
                             "[cartridge-group-name] %s",
                     "g4-g5-g6"), beanRemoved, null);
 
-            boolean removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "c4",
+            removedC1 = restClient.removeEntity(RestConstants.CARTRIDGES, "c4",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(String.format("Cartridge can not be removed : [cartridge-name] %s",
                     "c4"), removedC1, true);
 
-            boolean removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, "c5",
+            removedC2 = restClient.removeEntity(RestConstants.CARTRIDGES, "c5",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(String.format("Cartridge can not be removed : [cartridge-name] %s",
                     "c5"), removedC2, true);
 
-            boolean removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, "c6",
+            removedC3 = restClient.removeEntity(RestConstants.CARTRIDGES, "c6",
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertEquals(String.format("Cartridge can not be removed : [cartridge-name] %s",
                     "c6"), removedC3, true);