[Documentation] Implements explicit leader movement test scenario.
${idx_from} ${idx_to} ${idx_trans} = Get_Node_Indexes_For_The_ELM_Test ${leader_from} ${leader_to} ${shard_name}
... ${shard_type}
+ KarafKeywords.Log_Message_To_Controller_Karaf Starting leader movement from node${idx_from} to node${idx_to}, transaction producer at node${idx_trans}.
${ip_trans_as_list} = BuiltIn.Create_List ${ODL_SYSTEM_${idx_trans}_IP}
${idx_trans_as_list} = BuiltIn.Create_List ${idx_trans}
MdsalLowlevelPy.Start_Write_Transactions_On_Nodes ${ip_trans_as_list} ${idx_trans_as_list} ${ID_PREFIX} ${DURATION_30S} ${TRANSACTION_RATE_1K} chained_flag=${CHAINED_TX}
... is done after the node isolation and after the node rejoin.
${owner} ${candidates}= CsCommon.Get_And_Save_Present_CsOwner_And_CsCandidates 1
BuiltIn.Wait_Until_Keyword_Succeeds 6s 2s CsCommon.Verify_Singleton_Constant_On_Nodes ${cs_all_indices} ${CS_CONSTANT_PREFIX}${owner}
+ KarafKeywords.Log_Message_To_Controller_Karaf Isolating node${owner}.
CsCommon.Isolate_Owner_And_Verify_Isolated
WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout ${STABILITY_TIMEOUT_ISOLATED} 3s CsCommon.Verify_Singleton_Constant_During_Isolation
+ KarafKeywords.Log_Message_To_Controller_Karaf Rejoining node${owner}.
CsCommon.Rejoin_Node_And_Verify_Rejoined
WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout ${STABILITY_TIMEOUT_REJOINED} 3s CsCommon.Verify_Singleton_Constant_On_Nodes ${cs_all_indices} ${CS_CONSTANT_PREFIX}${cs_owner}
Test_Scenario
[Documentation] One leader movement scenario based on randomly chosen direction.
${node_from} ${node_to} BuiltIn.Evaluate random.sample(${MOVEMENT_DIRECTION_LIST}, 2) modules=random
- KarafKeywords.Log_Message_To_Controller_Karaf Starting ${node_from} to ${node_to} test.
DdbCommons.Explicit_Leader_Movement_Test_Templ ${node_from} ${node_to}