--- /dev/null
+*** Settings ***
+Documentation Test suite for Ovsdb Southbound Cluster
+Suite Setup Create Controller Sessions
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Resource ../../../libraries/ClusterOvsdb.robot
+Resource ../../../libraries/ClusterKeywords.robot
+Resource ../../../libraries/MininetKeywords.robot
+Variables ../../../variables/Variables.py
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../libraries/OVSDB.robot
+Resource ../../../libraries/KarafKeywords.robot
+
+*** Variables ***
+${OVSDB_CONFIG_DIR} ${CURDIR}/../../../variables/ovsdb
+@{node_list} ovsdb://uuid/
+${EXT_NET1_ID} 7da709ff-397f-4778-a0e8-994811272fdb
+${EXT_SUBNET1_ID} 00289199-e288-464a-ab2f-837ca67101a7
+${TNT1_ID} cde2563ead464ffa97963c59e002c0cf
+
+*** Test Cases ***
+Create Original Cluster List
+ [Documentation] Create original cluster list.
+ ${original_cluster_list} Create Controller Index List
+ Set Suite Variable ${original_cluster_list}
+ Log ${original_cluster_list}
+
+Verify Net-virt Features
+ [Documentation] Check Net-virt Console related features (odl-ovsdb-openstack)
+ Verify Feature Is Installed odl-ovsdb-openstack ${ODL_SYSTEM_1_IP}
+ Verify Feature Is Installed odl-ovsdb-openstack ${ODL_SYSTEM_2_IP}
+ Verify Feature Is Installed odl-ovsdb-openstack ${ODL_SYSTEM_3_IP}
+
+Check Shards Status Before Fail
+ [Documentation] Check Status for all shards in Ovsdb application.
+ Check Ovsdb Shards Status ${original_cluster_list}
+
+Start Mininet Multiple Connections
+ [Documentation] Start mininet with connection to all cluster instances.
+ ${mininet_conn_id} Add Multiple Managers to OVS ${TOOLS_SYSTEM_IP} ${original_cluster_list}
+ Set Suite Variable ${mininet_conn_id}
+ Log ${mininet_conn_id}
+
+Get manager connection
+ [Documentation] This will verify if the OVS manager is connected
+ [Tags] OVSDB netvirt
+ Verify OVS Reports Connected
+
+Check netvirt is loaded
+ [Documentation] Check if the netvirt piece has been loaded into the karaf instance
+ [Tags] Check netvirt is loaded
+ ${netvirt}= Create Dictionary netvirt:1=1
+ Wait Until Keyword Succeeds 6s 1s Check Item Occurrence At URI In Cluster ${original_cluster_list} ${netvirt} ${OPERATIONAL_NODES_NETVIRT}
+
+Check External Net for Tenant
+ [Documentation] Check External Net for Tenant
+ [Tags] OpenStack Call Flow
+ ${resp}= Create Dictionary "networks" : [ ]=1
+ Check Item Occurrence At URI In Cluster ${original_cluster_list} ${resp} ${ODLREST}/networks
+
+Create External Net for Tenant
+ [Documentation] Create External Net for Tenant
+ [Tags] OpenStack Call Flow
+ ${Data} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_ext_net.json
+ ${Data} Replace String ${Data} {netId} ${EXT_NET1_ID}
+ ${Data} Replace String ${Data} {tntId} ${TNT1_ID}
+ Log ${Data}
+ Put And Check At URI In Cluster ${original_cluster_list} 1 ${ODLREST}/networks ${Data}
Library ../../../libraries/Common.py
Resource ../../../libraries/Utils.robot
Resource ../../../libraries/OVSDB.robot
+Resource ../../../libraries/KarafKeywords.robot
*** Variables ***
-@{FLOW_TABLE_LIST} actions=goto_table:20 actions=CONTROLLER:65535 actions=goto_table:30 actions=goto_table:40 actions=goto_table:50 actions=goto_table:60 actions=goto_table:70
-... actions=goto_table:80 actions=goto_table:90 actions=goto_table:100 actions=goto_table:110 actions=drop
+@{FLOW_TABLE_LIST} actions=goto_table:20 actions=CONTROLLER:65535 actions=goto_table:30 actions=goto_table:40 actions=goto_table:50 actions=goto_table:60 actions=goto_table:70 actions=goto_table:80 actions=goto_table:90 actions=goto_table:100 actions=goto_table:110 actions=drop
*** Test Cases ***
Create Original Cluster List
Set Suite Variable ${original_cluster_list}
Log ${original_cluster_list}
+Verify Net-virt Features
+ [Documentation] Installing Net-virt Console related features (odl-ovsdb-openstack)
+ Verify Feature Is Installed odl-ovsdb-openstack ${ODL_SYSTEM_1_IP}
+ Verify Feature Is Installed odl-ovsdb-openstack ${ODL_SYSTEM_2_IP}
+ Verify Feature Is Installed odl-ovsdb-openstack ${ODL_SYSTEM_3_IP}
+
Check Shards Status Before Fail
[Documentation] Check Status for all shards in Ovsdb application.
Check Ovsdb Shards Status ${original_cluster_list}
Start Mininet Multiple Connections
[Documentation] Start mininet with connection to all cluster instances.
- ${mininet_conn_id} Add Multiple Managers to OVS ${TOOLS_SYSTEM_IP} ${original_cluster_list}
+ ${mininet_conn_id} Add Multiple Managers to OVS ${TOOLS_SYSTEM_IP} ${original_cluster_list}
Set Suite Variable ${mininet_conn_id}
Log ${mininet_conn_id}
+Get manager connection
+ [Documentation] This will verify if the OVS manager is connected
+ [Tags] OVSDB netvirt
+ Verify OVS Reports Connected
+
+Check Operational topology
+ [Documentation] Check Operational topology
+ ${dictionary}= Create Dictionary ovsdb://uuid/=5
+ Wait Until Keyword Succeeds 20s 2s Check Item Occurrence At URI In Cluster ${original_cluster_list} ${dictionary} ${OPERATIONAL_TOPO_API}
+
Get bridge setup
[Documentation] This request is verifying that the br-int bridge has been created
[Tags] OVSDB netvirt
Log ${output}
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 ${TOOLS_SYSTEM_IP} sudo ovs-ofctl -O Openflow13 dump-flows br-int
Log ${output}
: FOR ${flows} IN @{FLOW_TABLE_LIST}
- \ Should Contain ${output} ${flows}
+ \ Should Contain ${output} ${flows}
\ No newline at end of file
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Ovsdb Southbound Cluster
-Suite Setup Create Controller Sessions
-Suite Teardown Delete All Sessions
-Library RequestsLibrary
-Resource ../../../libraries/ClusterOvsdb.robot
-Resource ../../../libraries/ClusterKeywords.robot
-Resource ../../../libraries/MininetKeywords.robot
-Variables ../../../variables/Variables.py
-Library ../../../libraries/Common.py
-Resource ../../../libraries/Utils.robot
-Resource ../../../libraries/OVSDB.robot
-
-*** Variables ***
-${OVSDB_CONFIG_DIR} ${CURDIR}/../../../variables/ovsdb
-@{node_list} ovsdb://uuid/
-@{netvirt} 1
-
-*** Test Cases ***
-Create Cluster List
- [Documentation] Create original cluster list.
- ${original_cluster_list} Create Controller Index List
- Set Suite Variable ${original_cluster_list}
- Log ${original_cluster_list}
-
-Check Shards Status Before Fail
- [Documentation] Check Status for all shards in Ovsdb application.
- Check Ovsdb Shards Status ${original_cluster_list}
-
-Start Mininet Multiple Connections
- [Documentation] Start mininet with connection to all cluster instances.
- ${mininet_conn_id} Add Multiple Managers to OVS ${TOOLS_SYSTEM_IP} ${original_cluster_list}
- Set Suite Variable ${mininet_conn_id}
- Log ${mininet_conn_id}
-
-Check netvirt is loaded
- [Documentation] Check if the netvirt piece has been loaded into the karaf instance
- [Tags] Check netvirt is loaded
- Wait Until Keyword Succeeds 4s 4s Check Item Occurrence At URI In Cluster ${original_cluster_list} ${netvirt} ${OPERATIONAL_NODES_NETVIRT}
--- /dev/null
+# Place the suites in run order:
+integration/test/csit/suites/ovsdb/Netvirt_Cluster/030_Ovsdb_Southbound_NetVirt.robot
+integration/test/csit/suites/ovsdb/Netvirt_Cluster/010_Ovsdb_Netvirt_flow.robot
# Place the suites in run order:
-integration/test/csit/suites/ovsdb/Openstack_Neutron
-integration/test/csit/suites/ovsdb/Ovsdb_Net-virt/
\ No newline at end of file
+integration/test/csit/suites/ovsdb/Openstack_Neutron
\ No newline at end of file
LFM_RPC_API_LI = "/restconf/operations/lfm-mapping-database"
LFM_SB_RPC_API = "/restconf/operations/odl-lisp-sb"
+# Neutron
+NEUTRON_NB_API = '/controller/nb/v2/neutron'
+
# Other global variables
# TODO: Move these to more apropriate sections.
PORT = '8080'