${TEST_LOG_LEVEL} info
@{TEST_LOG_COMPONENTS} org.opendaylight.controller.remote.rpc
${EOS_URL} /restconf/operational/entity-owners:entity-owners
-@{NO_TAGS}
${active_nodes} ${EMPTY}
*** Test Cases ***
Get_Basic_Rpc_Test_Owner
[Documentation] Find a service owner and successors.
- [Tags] @{NO_TAGS}
Get_Present_Brt_Owner_And_Successors 1 store=${True}
Rpc_Before_Freezing_On_Owner
Freeze_Current_Owner_Member
[Documentation] Stop cluster node which is the owner.
- [Tags] @{NO_TAGS}
ClusterManagement.Freeze_Single_Member ${brt_owner}
BuiltIn.Set_Suite_Variable ${old_brt_owner} ${brt_owner}
BuiltIn.Set_Suite_Variable ${old_brt_successors} ${brt_successors}
Verify_New_Basic_Rpc_Test_Owner_Elected
[Documentation] Verify new owner of the service is elected.
${idx}= Collections.Get_From_List ${old_brt_successors} 0
- BuiltIn.Wait_Until_Keyword_Succeeds 5x 2s Verify_Owner_Elected ${True} ${old_brt_owner} ${idx}
+ BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s Verify_Owner_Elected ${True} ${old_brt_owner} ${idx}
Get_Present_Brt_Owner_And_Successors ${idx} store=${True}
Rpc_On_Remained_Cluster_Nodes
[Documentation] Run rpc on remained cluster nodes.
: FOR ${idx} IN @{old_brt_successors}
- \ BuiltIn.Wait_Until_Keyword_Succeeds 60s 3s Run_Rpc ${idx}
+ \ BuiltIn.Wait_Until_Keyword_Succeeds 60s 5s Run_Rpc ${idx}
Unfreeze_Frozen_Member
[Documentation] Restart frozen node
- [Tags] @{NO_TAGS}
ClusterManagement.Unfreeze_Single_Member ${old_brt_owner}
BuiltIn.Set_Suite_Variable ${active_nodes} ${EMPTY}
-Verify_New_Owner_Remained_After_Rejoin
- [Documentation] Verify no owner change happened after rejoin.
- WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout 15s 2s Verify_Owner_Elected ${False} ${brt_owner} ${brt_owner}
-
Rpc_After_Rejoin_On_New_Owner
[Documentation] Run rpc on the new service owner node.
Run_Rpc ${brt_owner}
*** Keywords ***
Setup_Suite
+ [Documentation] FIXME: Add a documentation.
SetupUtils.Setup_Utils_For_Setup_And_Teardown http_timeout=30
SetupUtils.Setup_Logging_For_Debug_Purposes_On_List_Or_All ${TEST_LOG_LEVEL} ${TEST_LOG_COMPONENTS}
${session} = Resolve_Http_Session_For_Member member_index=${node_idx}
${out} = TemplatedRequests.Get_From_Uri ${EOS_URL} session=${session}
KarafKeywords.Log_Message_To_Controller_Karaf EOS rest resp: ${out} member_index_list=${active_nodes}
- TemplatedRequests.Post_To_Uri ${RPC_URL} ${EMPTY} ${EMPTY_DICT} ${EMPTY_DICT} session=${session}
+ TemplatedRequests.Post_To_Uri ${RPC_URL} ${EMPTY} ${HEADERS_XML} ${ACCEPT_XML} session=${session}
Verify_Owner_Elected
[Arguments] ${new_elected} ${old_owner} ${node_to_ask}