X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fovsdb%2FSouthbound_Domain%2F020__connection_manager.robot;h=67382896f4de407871197a322f389297596edbed;hb=e7546dda2b483c5f05badb6e6d013449ac6d727c;hp=d273ed3a55e97ac67fe4f467c3833d377320d03c;hpb=a2cedd893c7e1f0b7b4551138ad96382f8de3f76;p=integration%2Ftest.git diff --git a/csit/suites/ovsdb/Southbound_Domain/020__connection_manager.robot b/csit/suites/ovsdb/Southbound_Domain/020__connection_manager.robot index d273ed3a55..67382896f4 100644 --- a/csit/suites/ovsdb/Southbound_Domain/020__connection_manager.robot +++ b/csit/suites/ovsdb/Southbound_Domain/020__connection_manager.robot @@ -1,148 +1,150 @@ *** Settings *** Documentation Test suite for Connection Manager Suite Setup OVSDB Connection Manager Suite Setup -Suite Teardown Delete All Sessions +Suite Teardown OVSDB Connection Manager Suite Teardown Test Setup Log Testcase Start To Controller Karaf +Force Tags Southbound Library OperatingSystem Library String Library RequestsLibrary Variables ../../../variables/Variables.py Resource ../../../libraries/Utils.robot +Resource ../../../libraries/OVSDB.robot *** Variables *** ${OVSDB_PORT} 6634 -${SOUTHBOUND_CONFIG_API} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2F${MININET}:${OVSDB_PORT} +${BRIDGE1} ovsdb-csit-test-bridge1 +${BRIDGE2} ovsdb-csit-test-bridge2 +${SOUTHBOUND_CONFIG_API} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2F${TOOLS_SYSTEM_IP}:${OVSDB_PORT} ${OVSDB_CONFIG_DIR} ${CURDIR}/../../../variables/ovsdb -@{node_list} ovsdb://${MININET}:${OVSDB_PORT} ${MININET} ${OVSDB_PORT} br-int +@{node_list} ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_PORT} ${TOOLS_SYSTEM_IP} ${OVSDB_PORT} *** Test Cases *** Connecting an OVS instance to the controller - [Tags] Southbound - Run Command On Remote System ${MININET} sudo ovs-vsctl del-manager - Run Command On Remote System ${MININET} sudo ovs-vsctl set-manager tcp:${CONTROLLER}:6640 + 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 tcp:${ODL_SYSTEM_IP}:6640 + Wait Until Keyword Succeeds 5s 1s Verify OVS Reports Connected Get Operational Topology to verify the ovs instance is connected to the controller [Documentation] This request will fetch the operational topology from the connected OVSDB nodes - [Tags] Southbound - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${node_list} + @{list} Create List ovsdb://uuid "remote-ip":"${TOOLS_SYSTEM_IP}" "local-port":6640 + Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} + ${ovsdb_uuid}= Get OVSDB UUID ${TOOLS_SYSTEM_IP} + Set Suite Variable ${ovsdb_uuid} -Get Config Topology +Verify OVS Not In Config Topology [Documentation] This request will fetch the configuration topology from configuration data store - [Tags] Southbound - ${resp} RequestsLibrary.Get session ${CONFIG_TOPO_API} - Log ${resp.content} - Should Be Equal As Strings ${resp.status_code} 200 Response status code error - Should Contain ${resp.content} ovsdb://${MININET}:${OVSDB_PORT}/bridge/br-int + Check For Elements Not At URI ${CONFIG_TOPO_API} ${node_list} Create bridge manually - [Tags] Southbound - Run Command On Remote System ${MININET} sudo ovs-vsctl add-br br-s1 + Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo ovs-vsctl add-br ${BRIDGE1} Get Operational Topology to verify the bridge has been added [Documentation] This request will fetch the operational topology from the connected OVSDB nodes - [Tags] Southbound - @{list} Create List br-s1 - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${list} + @{list} Create List ${BRIDGE1} + Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} Get Config Topology to verify the manually added bridge is not added to the config datastore [Documentation] This request will fetch the configuration topology from configuration data store - [Tags] Southbound - ${resp} RequestsLibrary.Get session ${CONFIG_TOPO_API} + ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Response status code error - Should not Contain ${resp.content} ovsdb://${MININET}:${OVSDB_PORT}/bridge/br-s1 + Should not Contain ${resp.content} ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_PORT}/bridge/${BRIDGE1} Create a Bridge through controller [Documentation] This will create bridge on the specified OVSDB node. - [Tags] Southbound - ${sample} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_bridge.json - ${sample1} Replace String ${sample} tcp:127.0.0.1:6633 tcp:${CONTROLLER}:6633 - ${sample2} Replace String ${sample1} 127.0.0.1 ${MININET} - ${sample3} Replace String ${sample2} br01 br-s2 - ${body} Replace String ${sample3} 61644 ${OVSDB_PORT} - Log URL is ${SOUTHBOUND_CONFIG_API}%2Fbridge%2Fbr-s2 - ${resp} RequestsLibrary.Put session ${SOUTHBOUND_CONFIG_API}%2Fbridge%2Fbr-s2 data=${body} - Log ${resp.content} + ${body} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_bridge.json + ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid} + ${body} Replace String ${body} tcp:127.0.0.1:6633 tcp:${ODL_SYSTEM_IP}:6640 + ${body} Replace String ${body} 127.0.0.1 ${TOOLS_SYSTEM_IP} + ${body} Replace String ${body} br01 ${BRIDGE2} + ${body} Replace String ${body} 61644 ${OVSDB_PORT} + ${uri}= Set Variable ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE2} + Log URL is ${uri} + Log data: ${body} + ${resp} RequestsLibrary.Put Request session ${uri} data=${body} Should Be Equal As Strings ${resp.status_code} 200 Get Operational Topology to verify the bridge has been added through rest call [Documentation] This request will fetch the operational topology from the connected OVSDB nodes - [Tags] Southbound - @{list} Create List br-s2 - Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${list} + @{list} Create List ${BRIDGE2} + Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} Get Config Topology to verify the entry added to the config datastore [Documentation] This request will fetch the configuration topology from configuration data store - [Tags] Southbound - ${resp} RequestsLibrary.Get session ${CONFIG_TOPO_API} + ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Response status code error - Should Contain ${resp.content} ovsdb://${MININET}:${OVSDB_PORT}/bridge/br-s2 + Should Contain ${resp.content} ovsdb://uuid/${ovsdb_uuid}/bridge/${BRIDGE2} Create bridge of already added bridge [Documentation] This will add bridge to the config datastore - [Tags] Southbound - ${sample} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_bridge.json - ${sample1} Replace String ${sample} tcp:127.0.0.1:6633 tcp:${CONTROLLER}:6633 - ${sample2} Replace String ${sample1} 127.0.0.1 ${MININET} - ${sample3} Replace String ${sample2} br01 br-s1 - ${body} Replace String ${sample3} 61644 ${OVSDB_PORT} - Log URL is ${SOUTHBOUND_CONFIG_API}%2Fbridge%2Fbr-s1 - ${resp} RequestsLibrary.Put session ${SOUTHBOUND_CONFIG_API}%2Fbridge%2Fbr-s1 data=${body} - Log ${resp.content} + ${body} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_bridge.json + ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid} + ${body} Replace String ${body} tcp:127.0.0.1:6633 tcp:${ODL_SYSTEM_IP}:6640 + ${body} Replace String ${body} 127.0.0.1 ${TOOLS_SYSTEM_IP} + ${body} Replace String ${body} br01 ${BRIDGE1} + ${body} Replace String ${body} 61644 ${OVSDB_PORT} + ${uri}= Set Variable ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE1} + Log URL is ${uri} + Log data: ${body} + ${resp} RequestsLibrary.Put Request session ${uri} data=${body} Should Be Equal As Strings ${resp.status_code} 200 Get Config Topology to verify the entry of existing bridge added to the config datastore [Documentation] This request will fetch the configuration topology from configuration data store - [Tags] Southbound - ${resp} RequestsLibrary.Get session ${CONFIG_TOPO_API} + ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Response status code error - Should Contain ${resp.content} ovsdb://${MININET}:${OVSDB_PORT}/bridge/br-s1 + Should Contain ${resp.content} ovsdb://uuid/${ovsdb_uuid}/bridge/${BRIDGE1} Delete bridge manually - [Tags] Southbound - Run Command On Remote System ${MININET} sudo ovs-vsctl del-br br-s2 + Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo ovs-vsctl del-br ${BRIDGE2} Get Operational Topology to verify the bridge has been deleted manually [Documentation] This request will fetch the operational topology from the connected OVSDB nodes - [Tags] Southbound - @{list} Create List br-s2 - Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API} ${list} + @{list} Create List ${BRIDGE2} + Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} -Get Config Topology to verify the entry deleted from the config datastore +Config Topology Still Contains Bridge [Documentation] This request will fetch the configuration topology from configuration data store - [Tags] Southbound - ${resp} RequestsLibrary.Get session ${CONFIG_TOPO_API} + ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Response status code error - Should not Contain ${resp.content} ovsdb://${MININET}:${OVSDB_PORT}/bridge/br-s2 + Should Contain ${resp.content} ovsdb://uuid/${ovsdb_uuid}/bridge/${BRIDGE2} Delete the Bridge through rest call [Documentation] This request will delete the bridge node from the config data store. - [Tags] Southbound - ${resp} RequestsLibrary.Delete session ${SOUTHBOUND_CONFIG_API}%2Fbridge%2Fbr-s1 + ${resp} RequestsLibrary.Delete Request session ${SOUTHBOUND_CONFIG_API}%2Fbridge%2F${BRIDGE2} Should Be Equal As Strings ${resp.status_code} 200 Response status code error Get Operational Topology after Deletion of Bridge [Documentation] This request will fetch the operational topology after the Bridge is deleted - [Tags] Southbound - @{list} Create List br-s1 - Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API} ${list} + @{list} Create List ${BRIDGE2} + Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} -Delete the integration Bridge - [Documentation] This request will delete the bridge node from the config data store. - [Tags] Southbound - ${resp} RequestsLibrary.Delete session ${SOUTHBOUND_CONFIG_API}%2Fbridge%2Fbr-int - Should Be Equal As Strings ${resp.status_code} 200 Response status code error +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 -Get Operational Topology after Deletion of integration Bridge - [Documentation] This request will fetch the operational topology after the Bridge is deleted - [Tags] Southbound - @{list} Create List br-int br-s1 - Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API} ${list} +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 *** Keywords *** OVSDB Connection Manager Suite Setup Open Controller Karaf Console On Background - Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} + Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} + +OVSDB Connection Manager Suite Teardown + [Documentation] Cleans up test environment, close existing sessions. + Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP} + RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE1} + RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE2} + ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} + Log ${resp.content} + Delete All Sessions \ No newline at end of file