Repository: stratos
Updated Branches:
  refs/heads/master 48cca3983 -> acdafd103


fixing faulty member detection by using member id as instance id in mock IaaS


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

Branch: refs/heads/master
Commit: acdafd103274260561df772813c74265b737256c
Parents: 27a6d76
Author: reka <[email protected]>
Authored: Tue Aug 18 17:06:11 2015 +0530
Committer: reka <[email protected]>
Committed: Tue Aug 18 17:06:50 2015 +0530

----------------------------------------------------------------------
 .../iaas/services/impl/MockIaasServiceImpl.java |  2 +-
 .../integration/tests/TopologyHandler.java      |  9 ++--
 .../application/GroupStartupOrderTest.java      | 10 +---
 .../GroupTerminationBehaviorTest.java           | 48 ++++++++++++++++----
 4 files changed, 46 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/acdafd10/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
 
b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
index 81cbfbe..4d2ff12 100644
--- 
a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
+++ 
b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
@@ -102,7 +102,7 @@ public class MockIaasServiceImpl implements MockIaasService 
{
             }
 
             // Generate instance id
-            String instanceId = UUID.randomUUID().toString();
+            String instanceId = mockInstanceContext.getMemberId();
             mockInstanceContext.setInstanceId(instanceId);
 
             MockInstance mockInstance = new MockInstance(mockInstanceContext);

http://git-wip-us.apache.org/repos/asf/stratos/blob/acdafd10/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
index 85987f5..9c9764b 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
@@ -58,9 +58,9 @@ import static junit.framework.Assert.*;
 public class TopologyHandler {
     private static final Log log = LogFactory.getLog(TopologyHandler.class);
 
-    public static final int APPLICATION_ACTIVATION_TIMEOUT = 300000;
-    public static final int APPLICATION_UNDEPLOYMENT_TIMEOUT = 60000;
-    public static final int APPLICATION_TOPOLOGY_TIMEOUT = 60000;
+    public static final int APPLICATION_ACTIVATION_TIMEOUT = 360000;
+    public static final int APPLICATION_UNDEPLOYMENT_TIMEOUT = 120000;
+    public static final int APPLICATION_TOPOLOGY_TIMEOUT = 90000;
     public static final String APPLICATION_STATUS_CREATED = "Created";
     public static final String APPLICATION_STATUS_UNDEPLOYING = "Undeploying";
     private ApplicationsEventReceiver applicationsEventReceiver;
@@ -247,7 +247,8 @@ public class TopologyHandler {
      *
      * @param applicationName
      */
-    public void terminateMemberFromCluster(String cartridgeName, String 
applicationName, IntegrationMockClient mockIaasApiClient) {
+    public void terminateMemberFromCluster(String cartridgeName, String 
applicationName,
+                                           IntegrationMockClient 
mockIaasApiClient) {
         Application application = 
ApplicationManager.getApplications().getApplication(applicationName);
         assertNotNull(String.format("Application is not found: 
[application-id] %s",
                 applicationName), application);

http://git-wip-us.apache.org/repos/asf/stratos/blob/acdafd10/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupStartupOrderTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupStartupOrderTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupStartupOrderTest.java
index 4148a52..d565e4f 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupStartupOrderTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupStartupOrderTest.java
@@ -21,20 +21,16 @@ package org.apache.stratos.integration.tests.application;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.common.beans.application.ApplicationBean;
-import org.apache.stratos.common.beans.cartridge.CartridgeGroupBean;
-import org.apache.stratos.common.beans.policy.deployment.ApplicationPolicyBean;
 import org.apache.stratos.integration.tests.RestConstants;
 import org.apache.stratos.integration.tests.StratosTestServerManager;
 import org.apache.stratos.integration.tests.TopologyHandler;
 import org.apache.stratos.messaging.domain.application.ApplicationStatus;
 import org.testng.annotations.Test;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 import static junit.framework.Assert.*;
-import static junit.framework.Assert.assertFalse;
 
 /**
  * Handling the startup order of the group
@@ -70,10 +66,6 @@ public class GroupStartupOrderTest extends 
StratosTestServerManager {
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertTrue(addedC3);
 
-            boolean addedC4 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "group8-group-startup-order-test.json",
-                    RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
-            assertTrue(addedC4);
-
             boolean addedC5 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGES_PATH + "/" + "tomcat1-group-startup-order-test.json",
                     RestConstants.CARTRIDGES, RestConstants.CARTRIDGES_NAME);
             assertTrue(addedC5);
@@ -101,7 +93,7 @@ public class GroupStartupOrderTest extends 
StratosTestServerManager {
             assertTrue(addedG2);
 
             boolean addedG3 = restClient.addEntity(RESOURCES_PATH + 
RestConstants.CARTRIDGE_GROUPS_PATH +
-                            "/" + "group-8-group-startup-order-test.json", 
RestConstants.CARTRIDGE_GROUPS,
+                            "/" + "group8-group-startup-order-test.json", 
RestConstants.CARTRIDGE_GROUPS,
                     RestConstants.CARTRIDGE_GROUPS_NAME);
             assertTrue(addedG3);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/acdafd10/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
----------------------------------------------------------------------
diff --git 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
index 629085f..3cc4ebd 100644
--- 
a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
+++ 
b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/application/GroupTerminationBehaviorTest.java
@@ -41,7 +41,7 @@ import static junit.framework.Assert.*;
 public class GroupTerminationBehaviorTest extends StratosTestServerManager {
     private static final Log log = 
LogFactory.getLog(GroupTerminationBehaviorTest.class);
     private static final String RESOURCES_PATH = 
"/group-termination-behavior-test";
-    private static final int GROUP_INACTIVE_TIMEOUT = 300000;
+    private static final int GROUP_INACTIVE_TIMEOUT = 180000;
 
     @Test
     public void testTerminationBehavior() {
@@ -118,9 +118,6 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
                     RestConstants.APPLICATIONS_NAME);
             assertTrue(deployed);
 
-            //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
             String groupId = 
topologyHandler.generateId(bean.getApplicationId(),
                     "g-G1-1x0-group-termination-behavior-test", 
bean.getApplicationId() + "-1");
 
@@ -137,14 +134,25 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
                             "c2-1x0-group-termination-behavior-test");
 
             assertCreationOfNodes(groupId, clusterIdC2);
+
             assertCreationOfNodes(clusterIdC3, clusterIdC4);
 
+            //Application active handling
+            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active);
+
             //Group active handling
             topologyHandler.assertGroupActivation(bean.getApplicationId());
 
             //Cluster active handling
             topologyHandler.assertClusterActivation(bean.getApplicationId());
 
+            //Terminate one member in the cluster
+            TopologyHandler.getInstance().terminateMemberFromCluster(
+                    "c3-group-termination-behavior-test",
+                    bean.getApplicationId(),
+                    mockIaasApiClient);
+
             List<String> clusterIds = new ArrayList<String>();
             clusterIds.add(clusterIdC3);
             clusterIds.add(clusterIdC4);
@@ -156,14 +164,14 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
 
             assertTerminationOfNodes(groupId, clusterIds);
 
-            //Application active handling
-            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
-                    ApplicationStatus.Active);
-
             assertCreationOfNodes(groupId, clusterIdC2);
 
             assertCreationOfNodes(clusterIdC3, clusterIdC4);
 
+            //Application active handling
+            topologyHandler.assertApplicationStatus(bean.getApplicationId(),
+                    ApplicationStatus.Active);
+
             //Group active handling
             topologyHandler.assertGroupActivation(bean.getApplicationId());
 
@@ -363,11 +371,33 @@ public class GroupTerminationBehaviorTest extends 
StratosTestServerManager {
 
     private void assertCreationOfNodes(String firstNodeId, String 
secondNodeId) {
         //group1 started first, then cluster started later
-
+        long startTime = System.currentTimeMillis();
         Map<String, Long> activeMembers = 
TopologyHandler.getInstance().getActivateddMembers();
         Map<String, Long> createdMembers = 
TopologyHandler.getInstance().getCreatedMembers();
         //Active member should be available at the time cluster is started to 
create.
+        while(!activeMembers.containsKey(firstNodeId)) {
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+            activeMembers = 
TopologyHandler.getInstance().getActivateddMembers();
+            if ((System.currentTimeMillis() - startTime) > 
GROUP_INACTIVE_TIMEOUT) {
+                break;
+            }
+        }
         assertTrue(activeMembers.containsKey(firstNodeId));
+
+        while(!createdMembers.containsKey(secondNodeId)) {
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+            createdMembers = TopologyHandler.getInstance().getCreatedMembers();
+            if ((System.currentTimeMillis() - startTime) > 
GROUP_INACTIVE_TIMEOUT) {
+                break;
+            }
+        }
+
         assertTrue(createdMembers.containsKey(secondNodeId));
 
         assertTrue(createdMembers.get(secondNodeId) > 
activeMembers.get(firstNodeId));

Reply via email to