- ${dictionary}= Create Dictionary ${TOOLS_SYSTEM_IP1}=1 ${OVSDBPORT}=4 ${BRIDGE}=1
- Put And Check At URI In Cluster ${controller_index_list} ${controller_index} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE} ${body}
- Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}
-
-Create Bridge Manually And Verify
- [Arguments] ${controller_index_list} ${controller_index}
- [Documentation] Create bridge in ${controller_index} and verify it gets applied in all instances in ${controller_index_list}.
- Run Command On Remote System ${TOOLS_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 Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary_config} ${CONFIG_TOPO_API}
- Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary_operational} ${OPERATIONAL_TOPO_API}
-
-Delete Bridge Manually And Verify
- [Arguments] ${controller_index_list} ${controller_index}
- [Documentation] Delete bridge in ${controller_index} and verify it gets applied in all instances in ${controller_index_list}.
- Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo ovs-vsctl del-br br-s1
- ${dictionary}= Create Dictionary br-s1=0
- Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${OPERATIONAL_TOPO_API}
-
-Delete Bridge Via Rest Call And Verify
- [Arguments] ${controller_index_list} ${controller_index}
- [Documentation] Delete bridge in ${controller_index} and verify it gets applied in all instances in ${controller_index_list}.
- # need to get UUID which should be the same on all controllers in cluster, so asking controller1
- ${ovsdb_uuid}= Get OVSDB UUID controller_http_session=controller1
- ${dictionary}= Create Dictionary ${BRIDGE}=0
- Delete And Check At URI In Cluster ${controller_index_list} ${controller_index} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE}
- Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary} ${OPERATIONAL_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}
-
-Add Port To The Manual Bridge And Verify
- [Arguments] ${controller_index_list} ${controller_index}
- [Documentation] Add Port in ${controller_index} and verify it gets applied in all instances in ${controller_index_list}.
- Run Command On Remote System ${TOOLS_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 Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary_config} ${CONFIG_TOPO_API}
- Wait Until Keyword Succeeds 5s 1s Check Item Occurrence At URI In Cluster ${controller_index_list} ${dictionary_operational} ${OPERATIONAL_TOPO_API}
+ ${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
+ ... ${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=${RFC8040_SOUTHBOUND_NODE_API}uuid%2F${ovsdb_uuid}?${RFC8040_OPERATIONAL_CONTENT}
+ ... dictionary=${dictionary}
+ ... member_index_list=${controller_index_list}
+
+Create Sample Port And Verify
+ [Documentation] Add Port vx2 to bridge ${BRIDGE} in controller ${controller_index} and verify it gets added in all instances in ${controller_index_list}.
+ [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 ${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
+ ... ${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
+ [Documentation] Modify the dst ip of port vx2 in bridge ${BRIDGE} in controller ${controller_index}.
+ [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 10.0.0.19
+ 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
+ ... ${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
+ [Documentation] Verify dst ip of port vx2 in bridge ${BRIDGE} gets modified in all instances in ${controller_index_list}.
+ [Arguments] ${controller_index_list}=${EMPTY}
+ ${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=${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
+ [Documentation] Delete port vx2 from bridge ${BRIDGE} in controller ${controller_index} and verify it gets deleted in all instances in ${controller_index_list}.
+ [Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
+ ${dictionary} Create Dictionary vx2=0
+ 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
+ [Documentation] Delete bridge ${BRIDGE} in ${controller_index} and verify it gets deleted in all instances in ${controller_index_list}.
+ [Arguments] ${controller_index} ${controller_index_list}=${EMPTY}
+ ${dictionary} Create Dictionary ${BRIDGE}=0
+ 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
+ [Documentation] Cleans up test environment, close existing sessions.
+ [Arguments] ${controller_index_list}=${EMPTY}
+ 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=${RFC8040_OPERATIONAL_TOPO_API}
+ ... dictionary=${dictionary}
+ ... member_index_list=${controller_index_list}