Fix controller cluster test 91/38091/16
authorLuis Gomez <ecelgp@gmail.com>
Tue, 26 Apr 2016 03:15:11 +0000 (20:15 -0700)
committerVratko Polák <vrpolak@cisco.com>
Wed, 27 Apr 2016 08:40:28 +0000 (08:40 +0000)
Fix typo, start id should be 1.
Add Verify (time) before killing instance.
Refactor BuyCar (routed RPC) test: do not stop people register instance.

Change-Id: I9cd66c7a95b149c4db7d2e74b0cb7d77f0fa5caf
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
csit/suites/controller/Clustering_Datastore/buycar_failover.robot
csit/suites/controller/Clustering_Datastore/car_failover_crud.robot
csit/suites/controller/Clustering_Datastore/car_persistence_recovery.robot
csit/suites/controller/Clustering_Datastore/carpeople_crud.robot

index 2a4838b76fc793e50b39e6427add34d9fcc4ec32..5f3cce7e02be7d1ff44679d7e7d29bf2e1513b75 100644 (file)
@@ -41,62 +41,47 @@ Add_People_To_First_Follower_And_Verify
     : FOR    ${session}    IN    @{ClusterManagement__session_list}
     \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/people    session=${session}    verify=True    iterations=${people_items}
 
-Buy_Cars_After_0_Reboots_And_Verify
-    [Documentation]    Buy some cars on the test member.
+Buy_Cars_On_Leader_And_Verify
+    [Documentation]    Buy some cars on the leader member.
     ${iter_start} =    BuiltIn.Evaluate    0 * ${CARPEOPLE_ITEMS} + 1
-    CarPeople.Buy_Several_Cars    session=${buying_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
+    CarPeople.Buy_Several_Cars    session=${car-people_leader_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
     ${total_iterations} =    BuiltIn.Evaluate    1 * ${CARPEOPLE_ITEMS}
     : FOR    ${session}    IN    @{ClusterManagement__session_list}
     \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/car-people    session=${session}    verify=True    iterations=${total_iterations}
 
-Reboot_1
-    [Documentation]    Previous car-people Leader is rebooted (without persistence cleanup).
-    ${index_to_reboot} =    Collections.Remove_From_List    ${list_to_reboot}    0
-    ClusterManagement.Kill_Single_Member    ${index_to_reboot}    confirm=True
-    ClusterManagement.Start_Single_Member    ${index_to_reboot}    wait_for_sync=True    timeout=${MEMBER_START_TIMEOUT}
-    BuiltIn.Wait_Until_Keyword_Succeeds    30s    2s    ClusterManagement.Verify_Leader_Exists_For_Each_Shard    shard_name_list=${SHARD_NAME_LIST}    shard_type=config
-
-Buy_Cars_After_1_Reboots_And_Verify
-    [Documentation]    Buy some cars on the test member.
+Buy_Cars_On_Follower_And_Verify
+    [Documentation]    Buy some cars on the first follower member.
     ${iter_start} =    BuiltIn.Evaluate    1 * ${CARPEOPLE_ITEMS} + 1
-    CarPeople.Buy_Several_Cars    session=${buying_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
+    CarPeople.Buy_Several_Cars    session=${car-people_first_follower_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
     ${total_iterations} =    BuiltIn.Evaluate    2 * ${CARPEOPLE_ITEMS}
     : FOR    ${session}    IN    @{ClusterManagement__session_list}
     \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/car-people    session=${session}    verify=True    iterations=${total_iterations}
 
-Reboot_2
-    [Documentation]    Previous car-people Leader is rebooted (without persistence cleanup).
-    ${index_to_reboot} =    Collections.Remove_From_List    ${list_to_reboot}    0
-    ClusterManagement.Kill_Single_Member    ${index_to_reboot}    confirm=True
-    ClusterManagement.Start_Single_Member    ${index_to_reboot}    wait_for_sync=True    timeout=${MEMBER_START_TIMEOUT}
+Reboot_People_Leader
+    [Documentation]    Previous people Leader is rebooted. We should never stop the people first follower, this is where people are registered.
+    ClusterManagement.Kill_Single_Member     ${people_leader_index}    confirm=True
+    ClusterManagement.Start_Single_Member     ${people_leader_index}    wait_for_sync=True    timeout=${MEMBER_START_TIMEOUT}
     BuiltIn.Wait_Until_Keyword_Succeeds    30s    2s    ClusterManagement.Verify_Leader_Exists_For_Each_Shard    shard_name_list=${SHARD_NAME_LIST}    shard_type=config
 
-Buy_Cars_After_2_Reboots_And_Verify
-    [Documentation]    Buy some cars on the test member.
+Buy_Cars_On_Leader_After_Reboot_And_Verify
+    [Documentation]    Buy some cars on the leader member.
     ${iter_start} =    BuiltIn.Evaluate    2 * ${CARPEOPLE_ITEMS} + 1
-    CarPeople.Buy_Several_Cars    session=${buying_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
+    CarPeople.Buy_Several_Cars    session=${car-people_leader_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
     ${total_iterations} =    BuiltIn.Evaluate    3 * ${CARPEOPLE_ITEMS}
     : FOR    ${session}    IN    @{ClusterManagement__session_list}
     \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/car-people    session=${session}    verify=True    iterations=${total_iterations}
 
-Reboot_3
-    [Documentation]    Previous car-people Leader is rebooted (without persistence cleanup).
-    ${index_to_reboot} =    Collections.Remove_From_List    ${list_to_reboot}    0
-    ClusterManagement.Kill_Single_Member    ${index_to_reboot}    confirm=True
-    ClusterManagement.Start_Single_Member    ${index_to_reboot}    wait_for_sync=True    timeout=${MEMBER_START_TIMEOUT}
-    BuiltIn.Wait_Until_Keyword_Succeeds    30s    2s    ClusterManagement.Verify_Leader_Exists_For_Each_Shard    shard_name_list=${SHARD_NAME_LIST}    shard_type=config
-
-Buy_Cars_After_3_Reboots_And_Verify
-    [Documentation]    Buy some cars on the test member.
+Buy_Cars_On_Follower_After_Reboot_And_Verify
+    [Documentation]    Buy some cars on the first follower member.
     ${iter_start} =    BuiltIn.Evaluate    3 * ${CARPEOPLE_ITEMS} + 1
-    CarPeople.Buy_Several_Cars    session=${buying_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
+    CarPeople.Buy_Several_Cars    session=${car-people_first_follower_session}    iterations=${CARPEOPLE_ITEMS}    iter_start=${iter_start}
     ${total_iterations} =    BuiltIn.Evaluate    4 * ${CARPEOPLE_ITEMS}
     : FOR    ${session}    IN    @{ClusterManagement__session_list}
     \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/car-people    session=${session}    verify=True    iterations=${total_iterations}
 
 Delete_All_CarPeople
     [Documentation]    DELETE car-people container. No verification beyond http status.
-    TemplatedRequests.Delete_Templated    folder=${VAR_DIR}/car-people    session=${buying_session}
+    TemplatedRequests.Delete_Templated    folder=${VAR_DIR}/car-people    session=${car-people_leader_session}
 
 Delete_All_People
     [Documentation]    DELETE people container. No verification beyond http status.
@@ -116,4 +101,3 @@ Setup
     ${leader_list} =    BuiltIn.Create_List    ${car-people_leader_index}
     ${reboot_list} =    Collections.Combine_Lists    ${leader_list}    ${car-people_follower_indices}
     BuiltIn.Set_Suite_Variable    \${list_to_reboot}    ${reboot_list}
-    BuiltIn.Set_Suite_Variable    \${buying_session}    ${car-people_leader_session}
index ca27dbb8af8eb2dcff9836d94667a7ed99cd1b3c..1e5cfd6db7d94bcb0e217af5064a0a8bee2da330 100644 (file)
@@ -34,9 +34,11 @@ ${ORIGINAL_START_I}    100
 ${VAR_DIR}        ${CURDIR}/../../../variables/carpeople/crud
 
 *** Test Cases ***
-Add_Original_Cars_On_Old_Leader
+Add_Original_Cars_On_Old_Leader_And_Verify
     [Documentation]    Add initial cars on car Leader.
     TemplatedRequests.Put_As_Json_Templated    folder=${VAR_DIR}/cars    session=${car_leader_session}    iterations=${CAR_ITEMS}    iter_start=${ORIGINAL_START_I}
+    : FOR    ${session}    IN    @{ClusterManagement__session_list}
+    \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}    iter_start=${ORIGINAL_START_I}
 
 Kill_Original_Car_Leader
     [Documentation]    Kill the car Leader to cause a new leader to get elected.
index 9092935c1b0eb2a03cacfd2800786964b42d653f..3b2020d0aa474be919bd9ff7e41e479ba8a846c4 100644 (file)
@@ -26,9 +26,11 @@ ${MEMBER_START_TIMEOUT}    300s
 ${VAR_DIR}        ${CURDIR}/../../../variables/carpeople/crud
 
 *** Test Cases ***
-Add_Cars_On_Leader
+Add_Cars_On_Leader_And_Verify
     [Documentation]    Single big PUT to datastore to add cars to car Leader.
     TemplatedRequests.Put_As_Json_Templated    folder=${VAR_DIR}/cars    session=${car_leader_session}    iterations=${CAR_ITEMS}
+    : FOR    ${session}    IN    @{ClusterManagement__session_list}
+    \    TemplatedRequests.Get_As_Json_Templated    folder=${VAR_DIR}/cars    session=${session}    verify=True    iterations=${CAR_ITEMS}
 
 Kill_All_Members
     [Documentation]    Kill all controllers.
index 5b844baa79c75baaab97a020aa01e497794adbf3..2f53ebe71dc29734f68f139f33c9fbec970987fc 100644 (file)
@@ -64,7 +64,7 @@ Buy_Cars_On_Leader
 
 Buy_Cars_On_Followers
     [Documentation]    On each Follower buy corresponding ID segment of cars in buy-car loop.
-    ${start_id} =    BuiltIn.Set_Variable    0
+    ${start_id} =    BuiltIn.Set_Variable    1
     : FOR    ${session}    IN    @{car-people_follower_sessions}
     \    CarPeople.Buy_Several_Cars    session=${session}    iterations=${items_per_follower}    iter_start=${start_id}
     \    ${start_id} =    BuiltIn.Evaluate    ${start_id} + ${items_per_follower}