From 9f7b48072f28df34ec3e561c5e5ca1a3766bd2fc Mon Sep 17 00:00:00 2001 From: Luis Gomez Date: Mon, 25 Apr 2016 20:15:11 -0700 Subject: [PATCH] Fix controller cluster test 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 --- .../buycar_failover.robot | 50 +++++++------------ .../car_failover_crud.robot | 4 +- .../car_persistence_recovery.robot | 4 +- .../Clustering_Datastore/carpeople_crud.robot | 2 +- 4 files changed, 24 insertions(+), 36 deletions(-) diff --git a/csit/suites/controller/Clustering_Datastore/buycar_failover.robot b/csit/suites/controller/Clustering_Datastore/buycar_failover.robot index 2a4838b76f..5f3cce7e02 100644 --- a/csit/suites/controller/Clustering_Datastore/buycar_failover.robot +++ b/csit/suites/controller/Clustering_Datastore/buycar_failover.robot @@ -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} diff --git a/csit/suites/controller/Clustering_Datastore/car_failover_crud.robot b/csit/suites/controller/Clustering_Datastore/car_failover_crud.robot index ca27dbb8af..1e5cfd6db7 100644 --- a/csit/suites/controller/Clustering_Datastore/car_failover_crud.robot +++ b/csit/suites/controller/Clustering_Datastore/car_failover_crud.robot @@ -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. diff --git a/csit/suites/controller/Clustering_Datastore/car_persistence_recovery.robot b/csit/suites/controller/Clustering_Datastore/car_persistence_recovery.robot index 9092935c1b..3b2020d0aa 100644 --- a/csit/suites/controller/Clustering_Datastore/car_persistence_recovery.robot +++ b/csit/suites/controller/Clustering_Datastore/car_persistence_recovery.robot @@ -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. diff --git a/csit/suites/controller/Clustering_Datastore/carpeople_crud.robot b/csit/suites/controller/Clustering_Datastore/carpeople_crud.robot index 5b844baa79..2f53ebe71d 100644 --- a/csit/suites/controller/Clustering_Datastore/carpeople_crud.robot +++ b/csit/suites/controller/Clustering_Datastore/carpeople_crud.robot @@ -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} -- 2.36.6