Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / suites / controller / dom_data_broker / ddb-sanity-prefix-based.robot
index 40418d97391e0a96f0b1dc89e9a1d995c87fee1e..0068d9464ab5174feeb66d1ddd29c0b663e220a4 100644 (file)
@@ -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