Resource MininetKeywords.robot
Resource Utils.robot
Resource OVSDB.robot
+Resource ../variables/ovsdb/Variables.robot
Variables ../variables/Variables.py
*** Variables ***
Utils.Run Command On Mininet ${ovs_system_ip} sudo ovs-vsctl add-br br-s1
${dictionary_operational}= Create Dictionary br-s1=5
${dictionary_config}= Create Dictionary br-s1=0
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${CONFIG_TOPO_API} dictionary=${dictionary_config} member_index_list=${controller_index_list}
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API} dictionary=${dictionary_operational} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_CONFIG_TOPO_API} dictionary=${dictionary_config} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_OPERATIONAL_TOPO_API} dictionary=${dictionary_operational} member_index_list=${controller_index_list}
Add Sample Port To The Manual Bridge And Verify
[Arguments] ${ovs_system_ip}=${TOOLS_SYSTEM_IP} ${controller_index_list}=${EMPTY}
Utils.Run Command On Mininet ${ovs_system_ip} sudo ovs-vsctl add-port br-s1 vx1 -- set Interface vx1 type=vxlan
${dictionary_operational}= Create Dictionary vx1=2
${dictionary_config}= Create Dictionary vx1=0
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${CONFIG_TOPO_API} dictionary=${dictionary_config} member_index_list=${controller_index_list}
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API} dictionary=${dictionary_operational} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_CONFIG_TOPO_API} dictionary=${dictionary_config} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_OPERATIONAL_TOPO_API} dictionary=${dictionary_operational} member_index_list=${controller_index_list}
Create Sample Tap Device
[Arguments] ${ovs_system_ip}=${TOOLS_SYSTEM_IP}
Utils.Run Command On Mininet ${ovs_system_ip} sudo ovs-vsctl add-port br-s1 vport1 -- add-port br-s1 vport2
${dictionary_operational}= Create Dictionary vport1=2 vport2=2
${dictionary_config}= Create Dictionary vport1=0 vport2=0
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${CONFIG_TOPO_API} dictionary=${dictionary_config} member_index_list=${controller_index_list}
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API} dictionary=${dictionary_operational} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_CONFIG_TOPO_API} dictionary=${dictionary_config} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_OPERATIONAL_TOPO_API} dictionary=${dictionary_operational} member_index_list=${controller_index_list}
Delete Sample Bridge Manually And Verify
[Arguments] ${ovs_system_ip}=${TOOLS_SYSTEM_IP} ${controller_index_list}=${EMPTY}
[Documentation] Delete bridge br-s1 using OVS command and verify it gets applied in all instances in ${controller_index_list}.
Utils.Run Command On Mininet ${ovs_system_ip} sudo ovs-vsctl del-br br-s1
${dictionary}= Create Dictionary br-s1=0
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API} dictionary=${dictionary} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_OPERATIONAL_TOPO_API} dictionary=${dictionary} member_index_list=${controller_index_list}
Create Sample Bridge And Verify
[Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
Log ${body}
${TOOLS_SYSTEM_IP1} Replace String ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_IP} "${TOOLS_SYSTEM_IP}"
${dictionary}= Create Dictionary ${TOOLS_SYSTEM_IP1}=1 ${OVSDBPORT}=4 ${BRIDGE}=1
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Put_As_Json_And_Check_Member_List_Or_All ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${body} ${controller_index}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Put_As_Json_And_Check_Member_List_Or_All ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${body} ${controller_index}
... ${controller_index_list}
- Wait Until Keyword Succeeds 10s 2s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid} dictionary=${dictionary} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 10s 2s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}?${RFC8040_OPERATIONAL_CONTENT} dictionary=${dictionary} member_index_list=${controller_index_list}
Create Sample Port And Verify
[Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
${sample} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_port_3node.json
${body} Replace String ${sample} 192.168.1.10 ${TOOLS_SYSTEM_IP}
Log ${body}
- Log URL is ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point/vx2/
+ Log URL is ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point=vx2
${port_dictionary}= Create Dictionary ${BRIDGE}=1 vx2=3
- ClusterManagement.Put_As_Json_And_Check_Member_List_Or_All ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point/vx2/ ${body} ${controller_index} ${controller_index_list}
- Wait Until Keyword Succeeds 10s 2s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point/vx2/ dictionary=${port_dictionary} member_index_list=${controller_index_list}
+ ClusterManagement.Put_As_Json_And_Check_Member_List_Or_All ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point=vx2 ${body} ${controller_index} ${controller_index_list}
+ Wait Until Keyword Succeeds 10s 2s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point=vx2?${RFC8040_OPERATIONAL_CONTENT} dictionary=${port_dictionary} member_index_list=${controller_index_list}
Modify the destination IP of Sample Port
[Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
[Documentation] Modify the dst ip of port vx2 in bridge ${BRIDGE} in controller ${controller_index}.
${sample} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_port_3node.json
${body} Replace String ${sample} 192.168.1.10 10.0.0.19
- Log URL is ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point/vx2/
+ Log URL is ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point=vx2
Log ${body}
- ClusterManagement.Put_As_Json_And_Check_Member_List_Or_All ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point/vx2/ ${body} ${controller_index} ${controller_index_list}
+ ClusterManagement.Put_As_Json_And_Check_Member_List_Or_All ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point=vx2 ${body} ${controller_index} ${controller_index_list}
Verify Sample Port Is Modified
[Arguments] ${controller_index_list}=${EMPTY}
[Documentation] Verify dst ip of port vx2 in bridge ${BRIDGE} gets modified in all instances in ${controller_index_list}.
${port_dictionary} Create Dictionary br01=6 vx2=3 10.0.0.19=1
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} dictionary=${port_dictionary} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}?${RFC8040_OPERATIONAL_CONTENT} dictionary=${port_dictionary} member_index_list=${controller_index_list}
Delete Sample Port And Verify
[Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
[Documentation] Delete port vx2 from bridge ${BRIDGE} in controller ${controller_index} and verify it gets deleted in all instances in ${controller_index_list}.
${dictionary}= Create Dictionary vx2=0
- ClusterManagement.Delete_And_Check_Member_List_Or_All ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point/vx2/ ${controller_index} ${controller_index_list}
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid} dictionary=${dictionary} member_index_list=${controller_index_list}
+ ClusterManagement.Delete_And_Check_Member_List_Or_All ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}/termination-point=vx2 ${controller_index} ${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}?${RFC8040_OPERATIONAL_CONTENT} dictionary=${dictionary} member_index_list=${controller_index_list}
Delete Sample Bridge And Verify
[Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
[Documentation] Delete bridge ${BRIDGE} in ${controller_index} and verify it gets deleted in all instances in ${controller_index_list}.
${dictionary}= Create Dictionary ${BRIDGE}=0
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Delete_And_Check_Member_List_Or_All ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${controller_index} ${controller_index_list}
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid} dictionary=${dictionary} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Delete_And_Check_Member_List_Or_All ${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${controller_index} ${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}?${RFC8040_OPERATIONAL_CONTENT} dictionary=${dictionary} member_index_list=${controller_index_list}
Configure Exit OVSDB Connection
[Arguments] ${controller_index_list}=${EMPTY}
[Documentation] Cleans up test environment, close existing sessions.
OVSDB.Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP}
${dictionary}= Create Dictionary ovsdb://uuid=0
- Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${OPERATIONAL_TOPO_API} dictionary=${dictionary} member_index_list=${controller_index_list}
+ Wait Until Keyword Succeeds 5s 1s ClusterManagement.Check_Item_Occurrence_Member_List_Or_All uri=${RFC8040_OPERATIONAL_TOPO_API} dictionary=${dictionary} member_index_list=${controller_index_list}