Add new test for multiple switch connection 27/59427/4
authorLen <lgiersch@brocade.com>
Thu, 22 Jun 2017 17:48:13 +0000 (10:48 -0700)
committerLuis Gomez <ecelgp@gmail.com>
Fri, 23 Jun 2017 20:46:44 +0000 (20:46 +0000)
Change-Id: I167bf6c0c5ab48102f53ac46f69725063a111844
Signed-off-by: Len <lgiersch@brocade.com>
csit/suites/openflowplugin/Bug_Validation/7350.robot [new file with mode: 0644]

diff --git a/csit/suites/openflowplugin/Bug_Validation/7350.robot b/csit/suites/openflowplugin/Bug_Validation/7350.robot
new file mode 100644 (file)
index 0000000..a555b06
--- /dev/null
@@ -0,0 +1,56 @@
+*** Settings ***
+Documentation     Test suite for Telstra Bug validation.
+Suite Setup       Initialization Phase
+Suite Teardown    Final Phase
+Library           XML
+Library           SSHLibrary
+Library           RequestsLibrary
+Library           Collections
+Resource          ../../../libraries/MininetKeywords.robot
+Resource          ../../../libraries/FlowLib.robot
+Resource          ../../../libraries/OVSDB.robot
+Resource          ../../../variables/Variables.robot
+
+*** Variables ***
+${ODL_OF_PORT1}    6653
+${SH_CNTL_CMD}    ovs-vsctl list Controller
+${lprompt}        mininet>
+
+*** Test Cases ***
+Create Two Active Switch Connections To Controller And Check OVS Connections
+    [Documentation]    Make a second connection from switch s1 to a controller
+    ${controller_opt} =    BuiltIn.Set Variable
+    ${controller_opt} =    BuiltIn.Catenate    ${controller_opt}    ${SPACE}tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT}${SPACE}tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT1}
+    OVSDB.Set Controller In OVS Bridge    ${TOOLS_SYSTEM_IP}    s1    ${controller_opt}
+    BuiltIn.Wait Until Keyword Succeeds    10s    1s    OVSDB.Check OVS OpenFlow Connections    ${TOOLS_SYSTEM_IP}    2
+    BuiltIn.Wait Until Keyword Succeeds    30s    3s    Execute OvsVsctl List Controllers Command
+
+Restore original Connection To Controller And Check OVS Connection
+    [Documentation]    Restore original Connection To Controller And Check OVS Connection
+    ${controller_opt} =    BuiltIn.Set Variable
+    ${controller_opt} =    BuiltIn.Catenate    ${controller_opt}    ${SPACE}tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT}
+    OVSDB.Set Controller In OVS Bridge    ${TOOLS_SYSTEM_IP}    s1    ${controller_opt}
+    BuiltIn.Wait Until Keyword Succeeds    10s    1s    OVSDB.Check OVS OpenFlow Connections    ${TOOLS_SYSTEM_IP}    1
+    BuiltIn.Wait Until Keyword Succeeds    30s    3s    Execute OvsVsctl List Controllers Command
+
+*** Keywords ***
+Initialization Phase
+    [Documentation]    Starts mininet and verify if topology is in operational datastore.
+    ${mininet_conn_id}=    MininetKeywords.Start Mininet Single Controller
+    BuiltIn.Set Suite Variable    ${mininet_conn_id}
+    RequestsLibrary.Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+    BuiltIn.Wait Until Keyword Succeeds    10s    1s    FlowLib.Check Switches In Topology    1
+
+Final Phase
+    [Documentation]    Stops mininet.
+    BuiltIn.Run Keyword And Ignore Error    RequestsLibrary.Delete Request    session    ${CONFIG_NODES_API}
+    MininetKeywords.Stop Mininet And Exit    ${mininet_conn_id}
+    RequestsLibrary.Delete All Sessions
+
+Execute OvsVsctl List Controllers Command
+    [Documentation]    List the configured controller connections.
+    ${output} =    Utils.Run Command On Mininet    ${TOOLS_SYSTEM_IP}    sudo ovs-vsctl list CONTROLLER
+    BuiltIn.Set Suite Variable    ${output}
+    Should Contain    ${output}    master
+    Log    ${output}
+    BuiltIn.Return From Keyword    ${output}