Resource ../../../libraries/Utils.robot
Resource ../../../libraries/OVSDB.robot
Resource ../../../variables/Variables.robot
+Resource ../../../variables/ovsdb/Variables.robot
*** Variables ***
${BRIDGE1} ovscon_br1
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
@{list} = BuiltIn.Create List ovsdb://uuid "remote-ip":"${TOOLS_SYSTEM_IP}" "local-port":${OVSDBPORT}
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
${OVSDB_UUID} = OVSDB.Get OVSDB UUID ${TOOLS_SYSTEM_IP}
BuiltIn.Set Suite Variable ${OVSDB_UUID}
Verify OVS Not In Config Topology
[Documentation] This request will fetch the configuration topology from configuration data store
- Utils.Check For Elements Not At URI ${CONFIG_TOPO_API} ${NODE_LIST} pretty_print_json=True
+ Utils.Check For Elements Not At URI ${RFC8040_CONFIG_TOPO_API} ${NODE_LIST} pretty_print_json=True
Create bridge manually
Utils.Run Command On Mininet ${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
@{list} = BuiltIn.Create List ${BRIDGE1}
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
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
- ${resp} = RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
+ ${resp} = RequestsLibrary.Get Request session ${RFC8040_CONFIG_TOPO_API}
OVSDB.Log Request ${resp.text}
BuiltIn.Should Be Equal As Strings ${resp.status_code} 200
BuiltIn.Should Not Contain ${resp.text} ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_NODE_PORT}/bridge/${BRIDGE1}
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
@{list} = BuiltIn.Create List ${BRIDGE2}
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
Get Config Topology to verify the entry added to the config datastore
[Documentation] This request will fetch the configuration topology from configuration data store
- ${resp} = RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
+ ${resp} = RequestsLibrary.Get Request session ${RFC8040_CONFIG_TOPO_API}
OVSDB.Log Request ${resp.text}
BuiltIn.Should Be Equal As Strings ${resp.status_code} 200
BuiltIn.Should Contain ${resp.text} ovsdb://uuid/${OVSDB_UUID}/bridge/${BRIDGE2}
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
- ${resp} = RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
+ ${resp} = RequestsLibrary.Get Request session ${RFC8040_CONFIG_TOPO_API}
OVSDB.Log Request ${resp.text}
BuiltIn.Should Be Equal As Strings ${resp.status_code} 200
BuiltIn.Should Contain ${resp.text} ovsdb://uuid/${OVSDB_UUID}/bridge/${BRIDGE1}
Get Operational Topology to verify the bridge has been deleted manually
[Documentation] This request will fetch the operational topology from the connected OVSDB nodes
@{list} = BuiltIn.Create List ${BRIDGE2}
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
Config Topology Still Contains Bridge
[Documentation] This request will fetch the configuration topology from configuration data store
- ${resp} = RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
+ ${resp} = RequestsLibrary.Get Request session ${RFC8040_CONFIG_TOPO_API}
OVSDB.Log Request ${resp.text}
BuiltIn.Should Be Equal As Strings ${resp.status_code} 200
BuiltIn.Should Contain ${resp.text} 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.
- ${resp} = RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${OVSDB_UUID}%2Fbridge%2F${BRIDGE2}
- BuiltIn.Should Be Equal As Strings ${resp.status_code} 200
+ ${resp} = RequestsLibrary.Delete Request session ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${OVSDB_UUID}%2Fbridge%2F${BRIDGE2}
+ BuiltIn.Should Be Equal As Strings ${resp.status_code} 204
Get Operational Topology after Deletion of Bridge
[Documentation] This request will fetch the operational topology after the Bridge is deleted
@{list} = BuiltIn.Create List ${BRIDGE2}
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
Trunk And Vlan Tag Is Removed From Operational
[Documentation] Verify that when the vlan tag is added and removed from an ovs port, it should be accurately reflected
BuiltIn.Wait Until Keyword Succeeds 5s 1s OVSDB.Verify OVS Reports Connected
OVSDB.Collect OVSDB Debugs
@{list} BuiltIn.Create List vlan-tag-br vlan-tag-port "ovsdb:vlan-tag":81 "trunk":181 "trunk":182
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
Utils.Run Command On Mininet ${TOOLS_SYSTEM_IP} sudo ovs-vsctl clear port vlan-tag-port tag
Utils.Run Command On Mininet ${TOOLS_SYSTEM_IP} sudo ovs-vsctl remove port vlan-tag-port trunks 181
@{list} BuiltIn.Create List "ovsdb:vlan-tag":81 "trunk":181
OVSDB.Collect OVSDB Debugs
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
Utils.Run Command On Mininet ${TOOLS_SYSTEM_IP} sudo ovs-vsctl clear port vlan-tag-port trunks
@{list} BuiltIn.Create List "ovsdb:vlan-tag":81 "trunk":181 "trunk":182
OVSDB.Collect OVSDB Debugs
- BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list} pretty_print_json=True
+ BuiltIn.Wait Until Keyword Succeeds 8s 2s Utils.Check For Elements Not At URI ${RFC8040_OPERATIONAL_TOPO_OVSDB1_API} ${list} pretty_print_json=True
[Teardown] Builtin.Run Keywords Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP}
... AND Utils.Report_Failure_Due_To_Bug OVSDB-413
*** Keywords ***
Suite Teardown
[Documentation] Cleans up test environment, close existing sessions.
- @{uris} = Builtin.Create List ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${OVSDB_UUID}%2Fbridge%2F${BRIDGE1} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${OVSDB_UUID}%2Fbridge%2F${BRIDGE2}
+ @{uris} = Builtin.Create List ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${OVSDB_UUID}%2Fbridge%2F${BRIDGE1} ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${OVSDB_UUID}%2Fbridge%2F${BRIDGE2}
OVSDB.Suite Teardown ${uris}