*** Settings *** Documentation Test suite connecting ODL to Mininet Suite Setup Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} Suite Teardown Delete All Sessions Library SSHLibrary Library Collections Library OperatingSystem Library String Library DateTime Library RequestsLibrary Library ../../../libraries/Common.py Variables ../../../variables/Variables.py Resource ../../../libraries/Utils.robot *** Variables *** ${OVSDB_PORT} 6640 ${OF_PORT} 6653 ${FLOWS_TABLE_20} actions=goto_table:20 ${FLOW_CONTROLLER} actions=CONTROLLER:65535 ${FLOWS_TABLE_30} actions=goto_table:30 ${FLOWS_TABLE_40} actions=goto_table:40 ${FLOWS_TABLE_50} actions=goto_table:50 ${FLOWS_TABLE_60} actions=goto_table:60 ${FLOWS_TABLE_70} actions=goto_table:70 ${FLOWS_TABLE_80} actions=goto_table:80 ${FLOWS_TABLE_90} actions=goto_table:90 ${FLOWS_TABLE_100} actions=goto_table:100 ${FLOWS_TABLE_110} actions=goto_table:110 ${FLOW_DROP} actions=drop ${PING_NOT_CONTAIN} Destination Host Unreachable @{node_list} ovsdb://uuid/ *** Test Cases *** Make the OVS instance to listen for connection [Documentation] Connect OVS to ODL [Tags] OVSDB netvirt Clean Up Ovs ${MININET} Run Command On Remote System ${MININET} sudo ovs-vsctl set-manager tcp:${CONTROLLER}:${OVSDB_PORT} ${output} Run Command On Remote System ${MININET} sudo ovs-vsctl show ${pingresult} Run Command On Remote System ${MININET} ping ${CONTROLLER} -c 4 Should Not Contain ${pingresult} ${PING_NOT_CONTAIN} Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API} ${node_list} Get manager connection [Documentation] This will verify if the OVS manager is connected [Tags] OVSDB netvirt ${output} Run Command On Remote System ${MININET} sudo ovs-vsctl show ${lines}= Get Lines Containing String ${output} is_connected ${manager}= Get Line ${lines} 0 Should Contain ${manager} true Get controller connection [Documentation] This will verify if the OpenFlow controller is connected on all bridges [Tags] OVSDB netvirt ${output} Run Command On Remote System ${MININET} sudo ovs-vsctl show ${lines}= Get Lines Containing String ${output} is_connected ${list}= Split String ${lines} \n Remove From List ${list} 0 : FOR ${controller} IN @{list} \ Should Contain ${controller} true Get bridge setup [Documentation] This request is verifying that the br-int bridge has been created [Tags] OVSDB netvirt ${output} Run Command On Remote System ${MININET} sudo ovs-vsctl show Should Contain ${output} Controller "tcp:${CONTROLLER}:${OF_PORT}" Should Contain ${output} Bridge br-int Get port setup [Documentation] This will check the port br-int has been created [Tags] OVSDB netvirt ${output} Run Command On Remote System ${MININET} sudo ovs-vsctl show Should Contain ${output} Port br-int Get interface setup [Documentation] This verify the interface br-int has been created [Tags] OVSDB netvirt ${output} Run Command On Remote System ${MININET} sudo ovs-vsctl show Should Contain ${output} Interface br-int Get the bridge flows [Documentation] This request fetch the OF13 flow tables to verify the flows are correctly added [Tags] OVSDB netvirt ${output} Run Command On Remote System ${MININET} sudo ovs-ofctl -O Openflow13 dump-flows br-int Should Contain ${output} ${FLOWS_TABLE_20} Should Contain ${output} ${FLOW_CONTROLLER} Should Contain ${output} ${FLOWS_TABLE_30} Should Contain ${output} ${FLOWS_TABLE_40} Should Contain ${output} ${FLOWS_TABLE_50} Should Contain ${output} ${FLOWS_TABLE_60} Should Contain ${output} ${FLOWS_TABLE_70} Should Contain ${output} ${FLOWS_TABLE_80} Should Contain ${output} ${FLOWS_TABLE_90} Should Contain ${output} ${FLOWS_TABLE_100} Should Contain ${output} ${FLOWS_TABLE_110} Should Contain ${output} ${FLOW_DROP}