[Documentation] Isolate the cluster leader node and perform check that virtual IP is routed to a new leader,
... afterwards unisolate old leader.
@{running_members} = ClusterManagement.Isolate_Member_From_List_Or_All ${controller_index}
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${running_members} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Sync_Status_Should_Be_False ${controller_index}
BuiltIn.Wait Until Keyword Succeeds 240 1 SxpClusterLib.Ip Addres Should Not Be Routed To Follower ${MAC_ADDRESS_TABLE} ${VIRTUAL_IP} ${controller_index}
${running_member} = Collections.Get From List ${running_members} 0
${active_follower} = SxpClusterLib.Get Owner Controller ${running_member}
BuiltIn.Wait Until Keyword Succeeds 240 1 SxpClusterLib.Ip Addres Should Be Routed To Follower ${MAC_ADDRESS_TABLE} ${VIRTUAL_IP} ${active_follower}
ClusterManagement.Flush_Iptables_From_List_Or_All
- BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Check_Cluster_Is_In_Sync
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${EMPTY} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
Clean Custom SXP Cluster
[Documentation] Disconnect SXP cluster topology
ClusterManagement.Flush_Iptables_From_List_Or_All
- BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Check_Cluster_Is_In_Sync
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${EMPTY} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
SxpLib.Delete Node ${DEVICE_NODE_ID} session=${DEVICE_SESSION}
SxpLib.Delete Node ${CLUSTER_NODE_ID} session=${CONTROLLER_SESSION}
[Arguments] ${controller_index}
[Documentation] Isolate cluster node specified by ${controller_index} and find new owner
@{running_members} = ClusterManagement.Isolate_Member_From_List_Or_All ${controller_index}
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${running_members} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Sync_Status_Should_Be_False ${controller_index}
BuiltIn.Wait Until Keyword Succeeds 240 1 SxpClusterLib.Ip Addres Should Not Be Routed To Follower ${MAC_ADDRESS_TABLE} ${VIRTUAL_IP} ${controller_index}
${running_member} = Collections.Get From List ${running_members} 0
Isolate SXP Controller
[Arguments] ${controller_index}
[Documentation] Isolate one of cluster nodes and perform check that Device is still connected afterwards reverts isolation
- ClusterManagement.Isolate_Member_From_List_Or_All ${controller_index}
+ ${running_members} = ClusterManagement.Isolate_Member_From_List_Or_All ${controller_index}
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${running_members} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Sync_Status_Should_Be_False ${controller_index}
BuiltIn.Wait Until Keyword Succeeds 60 1 SxpClusterLib.Check Device is Connected ${DEVICE_NODE_ID} session=${DEVICE_SESSION}
ClusterManagement.Flush_Iptables_From_List_Or_All
- BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Check_Cluster_Is_In_Sync
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${EMPTY} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 60 1 SxpClusterLib.Check Device is Connected ${DEVICE_NODE_ID} session=${DEVICE_SESSION}
: FOR ${i} IN RANGE ${NUM_ODL_SYSTEM}
\ SxpLib.Add Bindings ${i+1}0 ${i+1}0.${i+1}0.${i+1}0.${i+1}0/32 node=${INADDR_ANY} session=ClusterManagement__session_${owner_controller}
@{running_members} = ClusterManagement.Isolate_Member_From_List_Or_All ${controller_index}
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${running_members} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Sync_Status_Should_Be_False ${controller_index}
${running_member} = Collections.Get From List ${running_members} 0
${owner_controller} = SxpClusterLib.Get Owner Controller ${running_member}
: FOR ${i} IN RANGE ${NUM_ODL_SYSTEM}
\ SxpLib.Delete Bindings ${i+1}0 ${i+1}0.${i+1}0.${i+1}0.${i+1}0/32 node=${INADDR_ANY} session=ClusterManagement__session_${owner_controller}
ClusterManagement.Flush_Iptables_From_List_Or_All
- BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Check_Cluster_Is_In_Sync
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${EMPTY} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 30 1 Check Bindings Does Not Exist ${owner_controller}
Check Bindings Exist
[Arguments] ${controller_index} ${node} ${session}=ClusterManagement__session_${controller_index}
[Documentation] Isolate one of cluster nodes and perform check that device is connected
@{running_members} = ClusterManagement.Isolate_Member_From_List_Or_All ${controller_index}
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${running_members} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
${running_member} = Collections.Get From List ${running_members} 0
BuiltIn.Set Test Variable ${RUNNING_MEMBER} ${running_member}
BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Sync_Status_Should_Be_False ${controller_index}
[Arguments] ${controller_index}
[Documentation] Un-Isolate one of cluster nodes and perform check that device is connected
ClusterManagement.Flush_Iptables_From_List_Or_All
- BuiltIn.Wait Until Keyword Succeeds 240 1 ClusterManagement.Check_Cluster_Is_In_Sync
+ BuiltIn.Wait_Until_Keyword_Succeeds 60 1 ClusterManagement.Verify_Members_Are_Ready member_index_list=${EMPTY} verify_cluster_sync=True verify_restconf=True
+ ... verify_system_status=False service_list=@{EMPTY}
BuiltIn.Wait Until Keyword Succeeds 60 1 SxpClusterLib.Check Device is Connected ${DEVICE_NODE_ID} session=${DEVICE_SESSION}
Check Bindings