X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fcontroller%2Fdom_data_broker%2Fddb-sanity-prefix-based.robot;h=0068d9464ab5174feeb66d1ddd29c0b663e220a4;hb=94651ca9711d8eb316721775561e815830bc6c7e;hp=40418d97391e0a96f0b1dc89e9a1d995c87fee1e;hpb=3d2347c8a8300b7ed3bc442682064599a717b7be;p=integration%2Ftest.git diff --git a/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot b/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot index 40418d9739..0068d9464a 100644 --- a/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot +++ b/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot @@ -12,7 +12,7 @@ Documentation DOMDataBroker testing: Module based shards sanity suite ... other suites. ... It also verify the ability of the odl-controller-test-app to perform ... several activities. -Suite Setup BuiltIn.Run_Keywords SetupUtils.Setup_Utils_For_Setup_And_Teardown http_timeout=30 +Suite Setup BuiltIn.Run_Keywords SetupUtils.Setup_Utils_For_Setup_And_Teardown http_timeout=125 ... AND DdbCommons.Create_Prefix_Based_Shard_And_Verify Suite Teardown BuiltIn.Run_Keywords DdbCommons.Remove_Prefix_Based_Shard_And_Verify ... AND SSHLibrary.Close_All_Connections @@ -36,28 +36,31 @@ ${CHAINED_TX} ${True} ${ID_PREFIX} prefix- *** Test Cases *** -Produce_Transactions_One_Node_Leader - [Documentation] Produce transactions. +Get_Prefix_Shard_Role + [Documentation] Get prefix shard role. + ${all_indices} = ClusterManagement.List_All_Indices + FOR ${index} IN @{all_indices} + ${role} = ClusterAdmin.Get_Prefix_Shard_Role ${index} ${PREF_BASED_SHARD} ${SHARD_TYPE} + END + +Subscribe_Listener_To_Leader + [Documentation] Subscribe listener to leader. ${all_indices} = ClusterManagement.List_All_Indices ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${SHARD_NAME} shard_type=${SHARD_TYPE} member_index_list=${all_indices} verify_restconf=False - ${leader_idx_as_list} = BuiltIn.Create_List ${leader} - ${leader_ip_as_list} = ClusterManagement.Resolve_IP_Address_For_Members ${leader_idx_as_list} - MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${leader_ip_as_list} ${leader_idx_as_list} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} - ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions - : FOR ${resp} IN @{resp_list} - \ TemplatedRequests.Check_Status_Code ${resp} + MdsalLowlevel.Subscribe_Ddtl ${leader} + BuiltIn.Sleep 5s + ${copy_matches} = MdsalLowlevel.Unsubscribe_Ddtl_No_Tx ${leader} + BuiltIn.Should_Be_True ${copy_matches} -Produce_Transactions_One_Node_Follower - [Documentation] Produce transactions. +Subscribe_Listener_To_Follower + [Documentation] Subscribe listener to follower. ${all_indices} = ClusterManagement.List_All_Indices ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${SHARD_NAME} shard_type=${SHARD_TYPE} member_index_list=${all_indices} verify_restconf=False ${follower_idx} = Collections.Get_From_List ${follower_list} ${0} - ${follower_idx_as_list} = BuiltIn.Create_List ${follower_idx} - ${follower_ip_as_list} = ClusterManagement.Resolve_IP_Address_For_Members ${follower_idx_as_list} - MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${follower_ip_as_list} ${follower_idx_as_list} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} - ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions - : FOR ${resp} IN @{resp_list} - \ TemplatedRequests.Check_Status_Code ${resp} + MdsalLowlevel.Subscribe_Ddtl ${follower_idx} + BuiltIn.Sleep 5s + ${copy_matches} = MdsalLowlevel.Unsubscribe_Ddtl_No_Tx ${follower_idx} + BuiltIn.Should_Be_True ${copy_matches} Become_Prefix_Leader [Documentation] Make the loeader local and verify. @@ -66,8 +69,8 @@ Become_Prefix_Leader ${all_indices} = ClusterManagement.List_All_Indices ${old_leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} verify_restconf=False ${follower1} = Collections.Get_From_List ${follower_list} ${0} - MdsalLowlevel.Become_Prefix_Leader ${follower1} ${shard_name} ${ID_PREFIX} - ${leader} ${follower_list} = BuiltIn.Wait_Until_Keyword_Succeeds 30s 3s ClusterManagement.Verify_Shard_Leader_Elected ${shard_name}!! + MdsalLowlevel.Become_Prefix_Leader ${follower1} ${shard_name} + ${leader} ${follower_list} = BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s ClusterManagement.Verify_Shard_Leader_Elected ${shard_name}!! ... ${shard_type} ${True} ${old_leader} member_index_list=${EMPTY} BuiltIn.Should_Be_Equal_As_Numbers ${follower1} ${leader} @@ -78,12 +81,12 @@ Remove_Leader_Prefix_Shard_Replica_And_Add_It_Back ${all_indices} = ClusterManagement.List_All_Indices ${old_leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} verify_restconf=False ClusterAdmin.Remove_Prefix_Shard_Replica ${old_leader} ${shard_name} member-${old_leader} ${shard_type} - BuiltIn.Wait_Until_Keyword_Succeeds 60s 3s Verify_Shard_Replica_Removed ${old_leader} ${shard_name}!! ${shard_type} - ${actual_leader} ${actual_follower_list} = BuiltIn.Wait_Until_Keyword_Succeeds 60s 3s ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! + BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s Verify_Shard_Replica_Not_Present ${old_leader} ${shard_name}!! ${shard_type} + ${actual_leader} ${actual_follower_list} = BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! ... verify_restconf=False shard_type=${shard_type} member_index_list=${follower_list} BuiltIn.Should_Not_Be_Equal_As_Numbers ${old_leader} ${actual_leader} - ClusterAdmin.Add_Prefix_Shard_Replica ${old_leader} ${shard_name} ${shard_type} - BuiltIn.Wait_Until_Keyword_Succeeds 60s 3s ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} + BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s ClusterAdmin.Add_Prefix_Shard_Replica ${old_leader} ${shard_name} ${shard_type} + BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} ... verify_restconf=False Remove_Follower_Prefix_Shard_Replica_And_Add_It_Back @@ -94,37 +97,44 @@ Remove_Follower_Prefix_Shard_Replica_And_Add_It_Back ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} verify_restconf=False ${follower1} = Collections.Get_From_List ${follower_list} ${0} ClusterAdmin.Remove_Prefix_Shard_Replica ${follower1} ${shard_name} member-${follower1} ${shard_type} - BuiltIn.Wait_Until_Keyword_Succeeds 60s 3s DdbCommons.Verify_Shard_Replica_Removed ${follower1} ${shard_name}!! ${shard_type} + BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s DdbCommons.Verify_Shard_Replica_Not_Present ${follower1} ${shard_name}!! ${shard_type} ${new_indices_list} = ClusterManagement.List_Indices_Minus_Member ${follower1} ClusterManagement.Verify_Shard_Leader_Elected ${shard_name}!! ${shard_type} ${False} ${leader} member_index_list=${new_indices_list} - ClusterAdmin.Add_Prefix_Shard_Replica ${follower1} ${shard_name} ${shard_type} - BuiltIn.Wait_Until_Keyword_Succeeds 60s 3s ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} + BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s ClusterAdmin.Add_Prefix_Shard_Replica ${follower1} ${shard_name} ${shard_type} + BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name}!! shard_type=${shard_type} member_index_list=${all_indices} ... verify_restconf=False -Produce_Transactions +Produce_Transactions_One_Node_Leader [Documentation] Produce transactions. ${all_indices} = ClusterManagement.List_All_Indices - ${all_ip_list} = ClusterManagement.Resolve_IP_Address_For_Members ${all_indices} - MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${all_ip_list} ${all_indices} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} + ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${SHARD_NAME} shard_type=${SHARD_TYPE} member_index_list=${all_indices} verify_restconf=False + ${leader_idx_as_list} = BuiltIn.Create_List ${leader} + ${leader_ip_as_list} = ClusterManagement.Resolve_IP_Address_For_Members ${leader_idx_as_list} + MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${leader_ip_as_list} ${leader_idx_as_list} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions - : FOR ${resp} IN @{resp_list} - \ TemplatedRequests.Check_Status_Code ${resp} + FOR ${resp} IN @{resp_list} + TemplatedRequests.Check_Status_Code @{resp}[2] + END -Subscribe_Listener_To_Leader - [Documentation] Subscribe listener to leader. +Produce_Transactions_One_Node_Follower + [Documentation] Produce transactions. ${all_indices} = ClusterManagement.List_All_Indices ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${SHARD_NAME} shard_type=${SHARD_TYPE} member_index_list=${all_indices} verify_restconf=False - MdsalLowlevel.Subscribe_Ddtl ${leader} - BuiltIn.Sleep 5s - ${copy_matches} = MdsalLowlevel.Unsubscribe_Ddtl ${leader} - BuiltIn.Should_Be_True ${copy_matches} + ${follower_idx} = Collections.Get_From_List ${follower_list} ${0} + ${follower_idx_as_list} = BuiltIn.Create_List ${follower_idx} + ${follower_ip_as_list} = ClusterManagement.Resolve_IP_Address_For_Members ${follower_idx_as_list} + MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${follower_ip_as_list} ${follower_idx_as_list} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} + ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions + FOR ${resp} IN @{resp_list} + TemplatedRequests.Check_Status_Code @{resp}[2] + END -Subscribe_Listener_To_Follower - [Documentation] Subscribe listener to follower. +Produce_Transactions + [Documentation] Produce transactions. ${all_indices} = ClusterManagement.List_All_Indices - ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${SHARD_NAME} shard_type=${SHARD_TYPE} member_index_list=${all_indices} verify_restconf=False - ${follower_idx} = Collections.Get_From_List ${follower_list} ${0} - MdsalLowlevel.Subscribe_Ddtl ${follower_idx} - BuiltIn.Sleep 5s - ${copy_matches} = MdsalLowlevel.Unsubscribe_Ddtl ${follower_idx} - BuiltIn.Should_Be_True ${copy_matches} + ${all_ip_list} = ClusterManagement.Resolve_IP_Address_For_Members ${all_indices} + MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${all_ip_list} ${all_indices} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} + ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions + FOR ${resp} IN @{resp_list} + TemplatedRequests.Check_Status_Code @{resp}[2] + END