Documentation Test suite for entity ownership service and openflowplugin. Makes changes on switch side.
Suite Setup Start Suite
Suite Teardown End Suite
+Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
Test Template Reconnecting Switch Scenario
Library SSHLibrary
Library RequestsLibrary
Library XML
+Resource ${CURDIR}/../../../libraries/SetupUtils.robot
Resource ${CURDIR}/../../../libraries/Utils.robot
+Resource ${CURDIR}/../../../libraries/FlowLib.robot
Resource ${CURDIR}/../../../libraries/OvsManager.robot
Resource ${CURDIR}/../../../libraries/ClusterManagement.robot
Resource ${CURDIR}/../../../libraries/ClusterOpenFlow.robot
*** Variables ***
${SWITCHES} 1
-# this is for mininet 2.2.1 ${START_CMD} sudo mn --controller=remote,ip=${ODL_SYSTEM_1_IP} --controller=remote,ip=${ODL_SYSTEM_2_IP} --controller=remote,ip=${ODL_SYSTEM_3_IP} --topo linear,${SWITCHES} --switch ovsk,protocols=OpenFlow13
-${START_CMD} sudo mn --topo linear,${SWITCHES} --switch ovsk,protocols=OpenFlow13
+${START_CMD} sudo mn --topo linear,${SWITCHES}
@{cntls_idx_list} ${1} ${2} ${3}
*** Test Cases ***
*** Keywords ***
Start Suite
- ClusterManagement.ClusterManagement Setup
+ SetupUtils.Setup_Utils_For_Setup_And_Teardown
${mininet_conn_id}= SSHLibrary.Open Connection ${TOOLS_SYSTEM_IP} prompt=${TOOLS_SYSTEM_PROMPT}
BuiltIn.Set Suite Variable ${mininet_conn_id}
SSHLibrary.Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/id_rsa any
SSHLibrary.Read Until mininet>
${cntls_list} BuiltIn.Create List ${ODL_SYSTEM_1_IP} ${ODL_SYSTEM_2_IP} ${ODL_SYSTEM_3_IP}
${switch_list} BuiltIn.Create List
- : FOR ${i} IN RANGE 0 ${SWITCHES}
- \ ${sid}= BuiltIn.Evaluate ${i}+1
- \ Collections.Append To List ${switch_list} s${sid}
+ FOR ${i} IN RANGE 0 ${SWITCHES}
+ ${sid}= BuiltIn.Evaluate ${i}+1
+ Collections.Append To List ${switch_list} s${sid}
+ END
BuiltIn.Set Suite Variable ${active_member} 1
OvsManager.Setup Clustered Controller For Switches ${switch_list} ${cntls_list}
- BuiltIn.Wait Until Keyword Succeeds 10s 1s Are Switches Connected Topo
+ BuiltIn.Wait Until Keyword Succeeds 10s 1s ClusterOpenFlow.Verify Switch Connections Running On Member ${SWITCHES} 1
End Suite
RequestsLibrary.Delete All Sessions
- Utils.Stop Suite
-
-Are Switches Connected Topo
- [Documentation] Checks wheather switches are connected to controller
- ${resp}= ClusterManagement.Get From Member ${OPERATIONAL_TOPO_API}/topology/flow:1 ${active_member} access=${ACCEPT_XML}
- BuiltIn.Log ${resp}
- ${count}= XML.Get Element Count ${resp} xpath=node
- BuiltIn.Should Be Equal As Numbers ${count} ${SWITCHES}
+ Utils.Stop Mininet
Check All Switches Connected To All Cluster Nodes
[Documentation] Verifies all switches are connected to all cluster nodes
OvsManager.Get Ovsdb Data
- : FOR ${i} IN RANGE 0 ${SWITCHES}
- \ ${sid}= BuiltIn.Evaluate ${i}+1
- \ OvsManager.Should Be Connected s${sid} ${ODL_SYSTEM_1_IP} update_data=${False}
- \ OvsManager.Should Be Connected s${sid} ${ODL_SYSTEM_2_IP} update_data=${False}
- \ OvsManager.Should Be Connected s${sid} ${ODL_SYSTEM_3_IP} update_data=${False}
+ FOR ${i} IN RANGE 0 ${SWITCHES}
+ ${sid}= BuiltIn.Evaluate ${i}+1
+ OvsManager.Should Be Connected s${sid} ${ODL_SYSTEM_1_IP} update_data=${False}
+ OvsManager.Should Be Connected s${sid} ${ODL_SYSTEM_2_IP} update_data=${False}
+ OvsManager.Should Be Connected s${sid} ${ODL_SYSTEM_3_IP} update_data=${False}
+ END
Reconnecting Switch Scenario
[Arguments] ${switch_name}
[Documentation] Disconnect and connect master and slave and check switch data to be consistent
+ BuiltIn.Set Test Variable ${disc_cntl} ${Empty}
${idx}= BuiltIn.Evaluate str("${switch_name}"[1:])
BuiltIn.Set Test Variable ${idx}
Disconnect Switchs Old Master ${switch_name}
Disconnect Switchs Old Master
[Arguments] ${switch_name}
- BuiltIn.Set Test Variable ${disc_cntl} ${Empty}
${old_owner} ${old_successors}= ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device openflow:${idx} ${active_member}
${old_master}= BuiltIn.Set Variable ${ODL_SYSTEM_${old_owner}_IP}
OvsManager.Disconnect Switch From Controller And Verify Disconnected ${switch_name} ${old_master}
BuiltIn.Set Test Variable ${disc_cntl} ${old_master}
+ ${owner} ${successors}= ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device openflow:${idx} ${active_member} ${old_successors} after_stop=True
${new_master}= BuiltIn.Wait Until Keyword Succeeds 5x 3s Verify New Master Controller Node ${switch_name} ${old_master}
- ${owner} ${successors}= ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device openflow:${idx} ${active_member} ${old_successors}
BuiltIn.Should Be Equal As Strings ${new_master} ${ODL_SYSTEM_${owner}_IP}
BuiltIn.Set Test Variable ${old_owner}
BuiltIn.Set Test Variable ${old_successors}
BuiltIn.Set Test Variable ${disc_cntl} ${old_slave}
${tmp_candidates}= BuiltIn.Create List @{ClusterManagement__member_index_list}
Collections.Remove Values From List ${tmp_candidates} ${old_successor}
- ${owner} ${successors}= ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device openflow:${idx} ${active_member} ${tmp_candidates}
+ ${owner} ${successors}= ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device openflow:${idx} ${active_member} ${tmp_candidates} after_stop=True
BuiltIn.Should Be Equal ${owner} ${old_owner}
BuiltIn.Should Be Equal As Strings ${new_master} ${ODL_SYSTEM_${owner}_IP}
BuiltIn.Set Test Variable ${old_owner}