X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fovsdb%2FSouthbound_Domain%2F040__Vxlan_Extension_Test.robot;h=3941296db5c6f2a3781424333a405856b3b4aeae;hb=HEAD;hp=df227587a44eeca92a299e8ec70ec896894c8d63;hpb=5cab4c6997e383d3539e68e77ac0c4c685ca29d7;p=integration%2Ftest.git diff --git a/csit/suites/ovsdb/Southbound_Domain/040__Vxlan_Extension_Test.robot b/csit/suites/ovsdb/Southbound_Domain/040__Vxlan_Extension_Test.robot index df227587a4..3941296db5 100644 --- a/csit/suites/ovsdb/Southbound_Domain/040__Vxlan_Extension_Test.robot +++ b/csit/suites/ovsdb/Southbound_Domain/040__Vxlan_Extension_Test.robot @@ -1,122 +1,173 @@ *** Settings *** -Documentation Test suite for Connection Manager -Suite Setup Vxlan Extension Test Suite Setup -Suite Teardown Vxlan Extension Test Suite Teardown -Test Setup Log Testcase Start To Controller Karaf -Force Tags Southbound -Library OperatingSystem -Library String -Library Collections -Library SSHLibrary -Library RequestsLibrary -Library ../../../libraries/Common.py -Variables ../../../variables/Variables.py -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/OVSDB.robot +Documentation Test suite for Connection Manager + +Library RequestsLibrary +Resource ../../../libraries/MininetKeywords.robot +Resource ../../../libraries/OVSDB.robot +Resource ../../../libraries/SetupUtils.robot +Resource ../../../libraries/Utils.robot +Resource ../../../variables/Variables.robot +Resource ../../../variables/ovsdb/Variables.robot + +Suite Setup OVSDB.Suite Setup +Suite Teardown Suite Teardown +Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing + +Force Tags southbound + *** Variables *** -${OVSDB_PORT} 6634 -${OVSDB_CONFIG_DIR} ${CURDIR}/../../../variables/ovsdb -@{node_list1} ovsdb://${TOOLS_SYSTEM_2_IP}:${OVSDB_PORT} ${TOOLS_SYSTEM_2_IP} ${OVSDB_PORT} ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_PORT} ${TOOLS_SYSTEM_IP} ${OVSDB_PORT} -${start1} sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --switch=ovsk,protocols=OpenFlow13 --custom ovsdb.py --topo host,1 -${start2} sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --switch=ovsk,protocols=OpenFlow13 --custom ovsdb.py --topo host,2 +@{NODE_LIST} +... ${OVSDB_NODE_PORT} +... ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_NODE_PORT} +... ${TOOLS_SYSTEM_IP} +... ${OVSDB_NODE_PORT} +... ovsdb://${TOOLS_SYSTEM_2_IP}:${OVSDB_NODE_PORT} +... ${TOOLS_SYSTEM_2_IP} +${MN_OPTS_S1} --custom ovsdb.py --topo host,1 +${MN_OPTS_S2} --custom ovsdb.py --topo host,2 + *** Test Cases *** Make the OVS instance to listen for connection - Run Command On Remote System ${TOOLS_SYSTEM_2_IP} sudo ovs-vsctl del-manager - Run Command On Remote System ${TOOLS_SYSTEM_2_IP} sudo ovs-vsctl set-manager ptcp:${OVSDB_PORT} - Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo ovs-vsctl del-manager - Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo ovs-vsctl set-manager ptcp:${OVSDB_PORT} + Utils.Run Command On Mininet ${TOOLS_SYSTEM_IP} sudo ovs-vsctl del-manager + Utils.Run Command On Mininet ${TOOLS_SYSTEM_IP} sudo ovs-vsctl set-manager ptcp:${OVSDB_NODE_PORT} + Utils.Run Command On Mininet ${TOOLS_SYSTEM_2_IP} sudo ovs-vsctl del-manager + Utils.Run Command On Mininet ${TOOLS_SYSTEM_2_IP} sudo ovs-vsctl set-manager ptcp:${OVSDB_NODE_PORT} Connect controller to OVSDB Node1 [Documentation] Initiate the connection to OVSDB node from controller - Connect To Ovsdb Node ${TOOLS_SYSTEM_2_IP} + OVSDB.Connect To Ovsdb Node ${TOOLS_SYSTEM_IP} Connect controller to OVSDB Node2 [Documentation] Initiate the connection to OVSDB node from controller - Connect To Ovsdb Node ${TOOLS_SYSTEM_IP} + OVSDB.Connect To Ovsdb Node ${TOOLS_SYSTEM_2_IP} Get Operational Topology from OVSDB Node1 and OVSDB Node2 [Documentation] This request will fetch the operational topology from the connected OVSDB nodes - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${node_list1} + BuiltIn.Wait Until Keyword Succeeds + ... 8s + ... 2s + ... Utils.Check For Elements At URI + ... ${RFC8040_OPERATIONAL_TOPO_API} + ... ${NODE_LIST} + ... pretty_print_json=True Start the Mininet and create custom topology [Documentation] This will start mininet with custom topology on both the Virtual Machines - ${conn_id1} Start Mininet ${TOOLS_SYSTEM_2_IP} ${start1} ${OVSDB_CONFIG_DIR}/ovsdb.py - Set Global Variable ${conn_id1} - ${conn_id2} Start Mininet ${TOOLS_SYSTEM_IP} ${start2} ${OVSDB_CONFIG_DIR}/ovsdb.py - Set Global Variable ${conn_id2} + ${conn_id1} = MininetKeywords.Start Mininet Single Controller + ... ${TOOLS_SYSTEM_IP} + ... ${ODL_SYSTEM_IP} + ... ${MN_OPTS_S1} + ... ${OVSDB_CONFIG_DIR}/ovsdb.py + ${conn_id2} = MininetKeywords.Start Mininet Single Controller + ... ${TOOLS_SYSTEM_2_IP} + ... ${ODL_SYSTEM_IP} + ... ${MN_OPTS_S2} + ... ${OVSDB_CONFIG_DIR}/ovsdb.py Get Operational Topology with custom topology [Documentation] This request will fetch the operational topology from the connected OVSDB nodes to make sure the mininet created custom topology - @{list} Create List s1 s2 - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${list} + @{list} = BuiltIn.Create List s1 s2 + BuiltIn.Wait Until Keyword Succeeds + ... 8s + ... 2s + ... Utils.Check For Elements At URI + ... ${RFC8040_OPERATIONAL_TOPO_API} + ... ${list} + ... pretty_print_json=True Add the bridge s1 in the config datastore of OVSDB Node1 [Documentation] This request will add already operational bridge to the config data store of the OVSDB node. - Add Bridge To Ovsdb Node ${TOOLS_SYSTEM_2_IP} s1 0000000000000001 + OVSDB.Add Bridge To Ovsdb Node + ... ${TOOLS_SYSTEM_IP}:${OVSDB_NODE_PORT} + ... ${TOOLS_SYSTEM_IP} + ... s1 + ... 0000000000000051 Add the bridge s2 in the config datastore of OVSDB Node2 [Documentation] This request will add already operational bridge to the config data store of the OVSDB node. - Add Bridge To Ovsdb Node ${TOOLS_SYSTEM_IP} s2 0000000000000002 + OVSDB.Add Bridge To Ovsdb Node + ... ${TOOLS_SYSTEM2_IP}:${OVSDB_NODE_PORT} + ... ${TOOLS_SYSTEM_2_IP} + ... s2 + ... 0000000000000052 Get Config Topology with s1 and s2 Bridges [Documentation] This will fetch the configuration topology from configuration data store to verify the bridge is added to the config data store - @{list} Create List s1 s2 - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${CONFIG_TOPO_API} ${list} + @{list} = BuiltIn.Create List s1 s2 + BuiltIn.Wait Until Keyword Succeeds + ... 8s + ... 2s + ... Utils.Check For Elements At URI + ... ${RFC8040_CONFIG_TOPO_API} + ... ${list} + ... pretty_print_json=True Create Vxlan Port and attach to s1 Bridge [Documentation] This request will create vxlan port/interface for vxlan tunnel and attach it to the specific bridge s1 of OVSDB node 1 - Add Vxlan To Bridge ${TOOLS_SYSTEM_IP} s2 vxlanport ${TOOLS_SYSTEM_2_IP} + OVSDB.Add Vxlan To Bridge ${TOOLS_SYSTEM_IP} s1 s1-s2 ${TOOLS_SYSTEM_2_IP} Create Vxlan Port and attach to s2 Bridge [Documentation] This request will create vxlan port/interface for vxlan tunnel and attach it to the specific bridge s2 of OVSDB node 2 - Add Vxlan To Bridge ${TOOLS_SYSTEM_2_IP} s1 vxlanport ${TOOLS_SYSTEM_IP} + OVSDB.Add Vxlan To Bridge ${TOOLS_SYSTEM_2_IP} s2 s2-s1 ${TOOLS_SYSTEM_IP} Get Operational Topology with vxlan tunnel [Documentation] This request will fetch the operational topology from the connected OVSDB nodes to verify that the vxlan tunnel is created - @{list} Create List vxlanport ${TOOLS_SYSTEM_2_IP} ${TOOLS_SYSTEM_IP} - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${list} + @{list} = BuiltIn.Create List s1-s2 s2-s1 ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} + BuiltIn.Wait Until Keyword Succeeds + ... 8s + ... 2s + ... Utils.Check For Elements At URI + ... ${RFC8040_OPERATIONAL_TOPO_API} + ... ${list} + ... pretty_print_json=True Delete Bridges from config datastore [Documentation] This request will delete the bridges from config data store. - [Tags] Southbound - Delete Bridge From Ovsdb Node ${TOOLS_SYSTEM_IP} s2 - Delete Bridge From Ovsdb Node ${TOOLS_SYSTEM_2_IP} s1 + [Tags] southbound + OVSDB.Delete Bridge From Ovsdb Node ${TOOLS_SYSTEM_IP}:${OVSDB_NODE_PORT} s1 + OVSDB.Delete Bridge From Ovsdb Node ${TOOLS_SYSTEM_2_IP}:${OVSDB_NODE_PORT} s2 Disconnect controller connection from the connected OVSDBs nodes [Documentation] This request will disconnect the controller from the connected OVSDB node for clean startup for next suite. - [Tags] Southbound - Disconnect From Ovsdb Node ${TOOLS_SYSTEM_IP} - Disconnect From Ovsdb Node ${TOOLS_SYSTEM_2_IP} + [Tags] southbound + OVSDB.Disconnect From Ovsdb Node ${TOOLS_SYSTEM_IP} + OVSDB.Disconnect From Ovsdb Node ${TOOLS_SYSTEM_2_IP} Verify that the operational topology is clean [Documentation] This request will verify the operational toplogy after the mininet is cleaned. - [Tags] Southbound - @{list} Create List ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} s1 s2 - Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API} ${list} + [Tags] southbound + @{list} = BuiltIn.Create List ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} s1 s2 + BuiltIn.Wait Until Keyword Succeeds + ... 8s + ... 2s + ... Utils.Check For Elements Not At URI + ... ${RFC8040_OPERATIONAL_TOPO_API} + ... ${list} + ... pretty_print_json=True Check For Bug 4756 [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test ... case executed. - Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} SimpleShardDataTreeCohort.*Unexpected failure in validation phase - [Teardown] Report_Failure_Due_To_Bug 4756 + Utils.Check Karaf Log File Does Not Have Messages + ... ${ODL_SYSTEM_IP} + ... SimpleShardDataTreeCohort.*Unexpected failure in validation phase + [Teardown] Utils.Report_Failure_Due_To_Bug 4756 Check For Bug 4794 [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test ... case executed. - Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} Shard.*shard-topology-operational An exception occurred while preCommitting transaction - [Teardown] Report_Failure_Due_To_Bug 4794 + Utils.Check Karaf Log File Does Not Have Messages + ... ${ODL_SYSTEM_IP} + ... Shard.*shard-topology-operational An exception occurred while preCommitting transaction + [Teardown] Utils.Report_Failure_Due_To_Bug 4794 -*** Keywords *** -Vxlan Extension Test Suite Setup - Open Controller Karaf Console On Background - Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} -Vxlan Extension Test Suite Teardown +*** Keywords *** +Suite Teardown [Documentation] Cleans up test environment, close existing sessions. - Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP} - Clean OVSDB Test Environment ${TOOLS_SYSTEM_2_IP} - ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} - Log ${resp.content} - Delete All Sessions + OVSDB.Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP} + OVSDB.Clean OVSDB Test Environment ${TOOLS_SYSTEM_2_IP} + OVSDB.Log Config And Operational Topology + RequestsLibrary.Delete All Sessions