# 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
${body}= OperatingSystem.Get File ${CURDIR}/../variables/ovsdb/create_bridge_3node.json
- ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid}
+ ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid}
${body} Replace String ${body} tcp:controller1:6633 tcp:${ODL_SYSTEM_1_IP}:6640
${body} Replace String ${body} tcp:controller2:6633 tcp:${ODL_SYSTEM_2_IP}:6640
${body} Replace String ${body} tcp:controller3:6633 tcp:${ODL_SYSTEM_3_IP}:6640
Should Contain ${output} is_connected
Get OVSDB UUID
- [Arguments] ${ovs_system_ip}=${TOOLS_SYSTEM_IP} ${controller_ip}=${ODL_SYSTEM_IP} ${controller_http_session}=session
- [Documentation] Queries the topology in the operational datastore and searches for the node that has
- ... the ${ovs_system_ip} argument as the "remote-ip". If found, the value returned will be the value of
- ... node-id stripped of "ovsdb://uuid/". If not found, ${EMPTY} will be returned.
+ [Arguments] ${ovs_system_ip}=${TOOLS_SYSTEM_IP} ${controller_ip}=${ODL_SYSTEM_IP} ${controller_http_session}=session
+ [Documentation] Queries the topology in the operational datastore and searches for the node that has
+ ... the ${ovs_system_ip} argument as the "remote-ip". If found, the value returned will be the value of
+ ... node-id stripped of "ovsdb://uuid/". If not found, ${EMPTY} will be returned.
${uuid}= Set Variable ${EMPTY}
${resp}= RequestsLibrary.Get Request ${controller_http_session} ${OPERATIONAL_TOPO_API}/topology/ovsdb:1
Should Be Equal As Strings ${resp.status_code} 200
${resp_json}= To Json ${resp.content}
- ${topologies}= Get From Dictionary ${resp_json} topology
+ ${topologies}= Get From Dictionary ${resp_json} topology
${topology}= Get From List ${topologies} 0
${node_list}= Get From Dictionary ${topology} node
Log ${node_list}
: FOR ${node} IN @{node_list}
\ ${node_id}= Get From Dictionary ${node} node-id
\ ${node_uuid}= Replace String ${node_id} ovsdb://uuid/ ${EMPTY}
- # Since bridges are also listed as nodes, but will not have the extra "ovsdb:connection-info data, we need to
- # use "Run Keyword And Ignore Error" below.
+ \ # Since bridges are also listed as nodes, but will not have the extra "ovsdb:connection-info data, we need to
+ \ # use "Run Keyword And Ignore Error" below.
\ ${status} ${connection_info} Run Keyword And Ignore Error Get From Dictionary ${node} ovsdb:connection-info
\ ${status} ${remote_ip} Run Keyword And Ignore Error Get From Dictionary ${connection_info} remote-ip
\ ${uuid}= Set Variable If '${remote_ip}' == '${ovs_system_ip}' ${node_uuid} ${uuid}
[Return] ${uuid}
-
Collect OVSDB Debugs
[Arguments] ${switch}=br-int
[Documentation] Used to log useful test debugs for OVSDB related system tests.
Clean OVSDB Test Environment
[Arguments] ${tools_system}=${TOOLS_SYSTEM_IP}
[Documentation] General Use Keyword attempting to sanitize test environment for OVSDB related
- ... tests. Not every step will always be neccessary, but should not cause any problems for
+ ... tests. Not every step will always be neccessary, but should not cause any problems for
... any new ovsdb test suites.
Clean Mininet System ${tools_system}
Run Command On Remote System ${tools_system} sudo ovs-vsctl del-manager
Should Be Equal As Strings ${resp.status_code} 200
Delete a pathpolicy
- [Arguments] ${policy_id}
+ [Arguments] ${policy_id}
[Documentation] Delete a pathpolicy for a vtn
${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-path-policy:remove-path-policy data={"input":{"id":"${policy_id}"}}
Should Be Equal As Strings ${resp.status_code} 200
Add a vtn flowfilter
[Arguments] ${vtn_name} ${vtnflowfilter_data}
[Documentation] Create a flowfilter for a vtn
- ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-flow-filter:set-flow-filter data={"input": {"tenant-name": "${vtn_name}",${vtnflowfilter_data}}}
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-flow-filter:set-flow-filter data={"input": {"tenant-name": "${vtn_name}",${vtnflowfilter_data}}}
Should Be Equal As Strings ${resp.status_code} 200
Add a vbr flowfilter
Add a vbrif flowfilter
[Arguments] ${vtn_name} ${vBridge_name} ${interface_name} ${vbrif_flowfilter_data}
[Documentation] Create a flowfilter for a vbrif
- ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-flow-filter:set-flow-filter data={"input": {"tenant-name": ${vtn_name}, "bridge-name": "${vBridge_name}","interface-name":"${interface_name}",${vbrif_flowfilter_data}}}
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-flow-filter:set-flow-filter data={"input": {"tenant-name": ${vtn_name}, "bridge-name": "${vBridge_name}","interface-name":"${interface_name}",${vbrif_flowfilter_data}}}
Should Be Equal As Strings ${resp.status_code} 200
Verify Flow Entry for Inet Flowfilter
Put Service Function Chains
[Documentation] Register Service Function Chains to ODL
- Add Elements To URI From File ${SFC_PATH} ${SFC_ASYMM_FILE} ${HEADERS_YANG_JSON}
+ Add Elements To URI From File ${SFC_PATH} ${SFC_ASYMM_FILE} ${HEADERS_YANG_JSON}
Put Service Function Paths
[Documentation] Register Service Function Paths to ODL
- Add Elements To URI From File ${SFP_PATH} ${SFP_ASYMM_FILE} ${HEADERS_YANG_JSON}
+ Add Elements To URI From File ${SFP_PATH} ${SFP_ASYMM_FILE} ${HEADERS_YANG_JSON}
Put Tunnels
[Documentation] Send tunnel augmentation to ODL
Create Bridge In Owner and Verify Before Fail
[Documentation] Create Bridge in Owner and verify it gets applied from all instances.
Create Bridge And Verify ${original_cluster_list} ${original_owner}
- [Teardown] Report_Failure_Due_To_Bug 4908
\ No newline at end of file
+ [Teardown] Report_Failure_Due_To_Bug 4908
Wait Until Keyword Succeeds 8s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${node_list}
Check For Bug 4756
- [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} SimpleShardDataTreeCohort.*Unexpected failure in validation phase
[Teardown] Report_Failure_Due_To_Bug 4756
Check For Bug 4794
- [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} Shard.*shard-topology-operational An exception occurred while preCommitting transaction
[Teardown] Report_Failure_Due_To_Bug 4794
Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
Configure 1 OVSDB Node Suite Teardown
- [Documentation] Cleans up test environment, close existing sessions.
+ [Documentation] Cleans up test environment, close existing sessions.
Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP}
RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2F${TOOLS_SYSTEM_IP}:${OVSDB_PORT}
${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
*** Variables ***
${OVSDB_PORT} 6634
-${BRIDGE1} ovsdb-csit-test-bridge1
-${BRIDGE2} ovsdb-csit-test-bridge2
+${BRIDGE1} ovsdb-csit-test-bridge1
+${BRIDGE2} ovsdb-csit-test-bridge2
${SOUTHBOUND_CONFIG_API} ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2F${TOOLS_SYSTEM_IP}:${OVSDB_PORT}
${OVSDB_CONFIG_DIR} ${CURDIR}/../../../variables/ovsdb
@{node_list} ovsdb://${TOOLS_SYSTEM_IP}:${OVSDB_PORT} ${TOOLS_SYSTEM_IP} ${OVSDB_PORT}
Create a Bridge through controller
[Documentation] This will create bridge on the specified OVSDB node.
${body} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_bridge.json
- ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid}
+ ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid}
${body} Replace String ${body} tcp:127.0.0.1:6633 tcp:${ODL_SYSTEM_IP}:6640
${body} Replace String ${body} 127.0.0.1 ${TOOLS_SYSTEM_IP}
${body} Replace String ${body} br01 ${BRIDGE2}
Create bridge of already added bridge
[Documentation] This will add bridge to the config datastore
${body} OperatingSystem.Get File ${OVSDB_CONFIG_DIR}/create_bridge.json
- ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid}
+ ${body} Replace String ${body} ovsdb://127.0.0.1:61644 ovsdb://uuid/${ovsdb_uuid}
${body} Replace String ${body} tcp:127.0.0.1:6633 tcp:${ODL_SYSTEM_IP}:6640
${body} Replace String ${body} 127.0.0.1 ${TOOLS_SYSTEM_IP}
${body} Replace String ${body} br01 ${BRIDGE1}
Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API}/topology/ovsdb:1 ${list}
Check For Bug 4756
- [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} SimpleShardDataTreeCohort.*Unexpected failure in validation phase
[Teardown] Report_Failure_Due_To_Bug 4756
Check For Bug 4794
- [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} Shard.*shard-topology-operational An exception occurred while preCommitting transaction
[Teardown] Report_Failure_Due_To_Bug 4794
Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
OVSDB Connection Manager Suite Teardown
- [Documentation] Cleans up test environment, close existing sessions.
+ [Documentation] Cleans up test environment, close existing sessions.
Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP}
RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE1}
RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${ovsdb_uuid}%2Fbridge%2F${BRIDGE2}
${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
Log ${resp.content}
- Delete All Sessions
\ No newline at end of file
+ Delete All Sessions
Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API} ${list}
Check For Bug 4756
- [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} SimpleShardDataTreeCohort.*Unexpected failure in validation phase
[Teardown] Report_Failure_Due_To_Bug 4756
Check For Bug 4794
- [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} Shard.*shard-topology-operational An exception occurred while preCommitting transaction
[Teardown] Report_Failure_Due_To_Bug 4794
Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
Configure Exit OVSDB Node Suite Teardown
- [Documentation] Cleans up test environment, close existing sessions.
+ [Documentation] Cleans up test environment, close existing sessions.
Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP}
RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2F${TOOLS_SYSTEM_IP}:${OVSDB_PORT}
${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API}
Log ${resp.content}
- Delete All Sessions
\ No newline at end of file
+ Delete All Sessions
Wait Until Keyword Succeeds 8s 2s Check For Elements Not At URI ${OPERATIONAL_TOPO_API} ${list}
Check For Bug 4756
- [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4756 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} SimpleShardDataTreeCohort.*Unexpected failure in validation phase
[Teardown] Report_Failure_Due_To_Bug 4756
Check For Bug 4794
- [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
+ [Documentation] bug 4794 has been seen in the OVSDB Southbound suites. This test case should be one of the last test
... case executed.
Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} Shard.*shard-topology-operational An exception occurred while preCommitting transaction
[Teardown] Report_Failure_Due_To_Bug 4794
Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
Vxlan Extension Test Suite Teardown
- [Documentation] Cleans up test environment, close existing sessions.
+ [Documentation] Cleans up test environment, close existing sessions.
Clean OVSDB Test Environment ${TOOLS_SYSTEM_IP}
Clean OVSDB Test Environment ${TOOLS_SYSTEM_2_IP}
RequestsLibrary.Delete Request session ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2F${TOOLS_SYSTEM_IP}:${OVSDB_PORT}
*** Variables ***
${flowfilterInetdata} "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-
${flowfilterInetdropdata} "vtn-flow-filter":[{"condition":"cond_1","vtn-drop-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-
${flowfilterIcmpCodedata} "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action":[{ "order":"1","vtn-set-icmp-code-action":{"code":"9"}}],"index":"2"}]
-
${flowfilterTpsrcTpdstdata} "vtn-flow-filter": [{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-port-src-action": {"port": "5"}},{"order": "2","vtn-set-port-dst-action": {"port": "10"}}],"index": "3"}]
-
-${flowfilterDscpdata} "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-inet-dscp-action": {"dscp":"10"}}],"index":"6"}]
-
-${flowfiltervlanpcp} "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order":"1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order":"2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}},{"order":"3","vtn-set-icmp-code-action":{"code":"1"}},{"order":"4","vtn-set-vlan-pcp-action":{"vlan-pcp":"3"}}],"index":"3"}]
+${flowfilterDscpdata} "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-inet-dscp-action": {"dscp":"10"}}],"index":"6"}]
+${flowfiltervlanpcp} "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order":"1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order":"2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}},{"order":"3","vtn-set-icmp-code-action":{"code":"1"}},{"order":"4","vtn-set-vlan-pcp-action":{"vlan-pcp":"3"}}],"index":"3"}]
*** Test Cases ***
Check if switch1 detected
Add a flowfilter with inet4src and inet4dst
[Documentation] Create a flowfilter with inet4 and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterInetdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with Icmp code
[Documentation] Create a flowfilter with icmp code and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterIcmpCodedata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with tpsrc and tpdst
[Documentation] Create a flowfilter with tpsrc and tpdst and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterTpsrcTpdstdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with dscp
[Documentation] Create a flowfilter with dscp and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterDscpdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Verify Flow Entry for Inet Flowfilter
[Documentation] Verify Flow Entry for Inet Flowfilter
Add a flowfilter with vlanpcp
[Documentation] Create a flowfilter with vlanpcp and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfiltervlanpcp}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter_vtn with inet4src and inet4dst
[Documentation] Create a vtn_flowfilter with inet4 and Verify ping
Add a vtn flowfilter Tenant1 ${flowfilterInetdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter_vbr with inet4src and inet4dst
[Documentation] Create a vbr_flowfilter with inet4 and Verify ping
Add a vbr flowfilter Tenant1 vBridge1 ${flowfilterInetdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with inet4 for drop
[Documentation] Create a flowfilter with inet4 for drop action and Verify no pinging
[Tags] exclude
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterInetdropdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Not Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Not Succeed h1 h3
Delete a flowcondition
[Documentation] Delete a flowcondition
*** Variables ***
${pathmapdata} {"input":{"tenant-name":"Tenant_path","path-map-list":[{"condition":"flowcond_path","policy":"1","index": "1","idle-timeout":"300","hard-timeout":"0"}]}}
-
-${pathpolicydata} {"input":{"operation":"SET","id": "1","default-cost": "10000","vtn-path-cost": [{"port-desc":"openflow:1,3,s1-eth3","cost":"1000"},{"port-desc":"openflow:4,2,s4-eth2","cost":"1000"},{"port-desc":"openflow:3,3,s3-eth3","cost":"100000"}]}}
-
+${pathpolicydata} {"input":{"operation":"SET","id": "1","default-cost": "10000","vtn-path-cost": [{"port-desc":"openflow:1,3,s1-eth3","cost":"1000"},{"port-desc":"openflow:4,2,s4-eth2","cost":"1000"},{"port-desc":"openflow:3,3,s3-eth3","cost":"100000"}]}}
*** Test Cases ***
Check if switch1 detected
Delete a pathmap Tenant_path
Delete a pathpolicy
- [Documentation] Delete a pathpolicy
- Delete a pathpolicy ${policy_id}
+ [Documentation] Delete a pathpolicy
+ Delete a pathpolicy ${policy_id}
Delete a flowcondition
[Documentation] Delete a flowcondition
*** Variables ***
${flowfilterInetdata} "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-
${flowfilterInetdropdata} "vtn-flow-filter":[{"condition":"cond_1","vtn-drop-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-
${flowfilterIcmpCodedata} "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action":[{ "order":"1","vtn-set-icmp-code-action":{"code":"9"}}],"index":"2"}]
-
${flowfilterTpsrcTpdstdata} "vtn-flow-filter": [{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-port-src-action": {"port": "5"}},{"order": "2","vtn-set-port-dst-action": {"port": "10"}}],"index": "3"}]
-
-${flowfilterDscpdata} "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-inet-dscp-action": {"dscp":"10"}}],"index":"6"}]
-
-${flowfiltervlanpcp} "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order":"1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order":"2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}},{"order":"3","vtn-set-icmp-code-action":{"code":"1"}},{"order":"4","vtn-set-vlan-pcp-action":{"vlan-pcp":"3"}}],"index":"3"}]
+${flowfilterDscpdata} "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-inet-dscp-action": {"dscp":"10"}}],"index":"6"}]
+${flowfiltervlanpcp} "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order":"1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order":"2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}},{"order":"3","vtn-set-icmp-code-action":{"code":"1"}},{"order":"4","vtn-set-vlan-pcp-action":{"vlan-pcp":"3"}}],"index":"3"}]
*** Test Cases ***
Check if switch1 detected
Add a flowfilter with inet4src and inet4dst
[Documentation] Create a flowfilter with inet4 and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterInetdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with Icmp code
[Documentation] Create a flowfilter with icmp code and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterIcmpCodedata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with tpsrc and tpdst
[Documentation] Create a flowfilter with tpsrc and tpdst and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterTpsrcTpdstdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with dscp
[Documentation] Create a flowfilter with dscp and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterDscpdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Verify Flow Entry for Inet Flowfilter
[Documentation] Verify Flow Entry for Inet Flowfilter
Add a flowfilter with vlanpcp
[Documentation] Create a flowfilter with vlanpcp and Verify ping
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfiltervlanpcp}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter_vtn with inet4src and inet4dst
[Documentation] Create a vtn_flowfilter with inet4 and Verify ping
Add a vtn flowfilter Tenant1 ${flowfilterInetdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter_vbr with inet4src and inet4dst
[Documentation] Create a vbr_flowfilter with inet4 and Verify ping
Add a vbr flowfilter Tenant1 vBridge1 ${flowfilterInetdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Add a flowfilter with inet4 for drop
[Documentation] Create a flowfilter with inet4 for drop action and Verify no pinging
[Tags] exclude
Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfilterInetdropdata}
- Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Not Succeed h1 h3
+ Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Not Succeed h1 h3
Verify Removed Flow Entry For Inet After Drop Action
[Documentation] Verify no flows between the hosts after drop
*** Variables ***
${pathmapdata} {"input":{"tenant-name":"Tenant_path","path-map-list":[{"condition":"flowcond_path","policy":"1","index": "1","idle-timeout":"300","hard-timeout":"0"}]}}
-
-${pathpolicydata} {"input":{"operation":"SET","id": "1","default-cost": "10000","vtn-path-cost": [{"port-desc":"openflow:1,3,s1-eth3","cost":"1000"},{"port-desc":"openflow:4,2,s4-eth2","cost":"1000"},{"port-desc":"openflow:3,3,s3-eth3","cost":"100000"}]}}
-
+${pathpolicydata} {"input":{"operation":"SET","id": "1","default-cost": "10000","vtn-path-cost": [{"port-desc":"openflow:1,3,s1-eth3","cost":"1000"},{"port-desc":"openflow:4,2,s4-eth2","cost":"1000"},{"port-desc":"openflow:3,3,s3-eth3","cost":"100000"}]}}
*** Test Cases ***
Check if switch1 detected
Delete a pathmap Tenant_path
Delete a pathpolicy
- [Documentation] Delete a pathpolicy
- Delete a pathpolicy ${policy_id}
+ [Documentation] Delete a pathpolicy
+ Delete a pathpolicy ${policy_id}
Delete a flowcondition
[Documentation] Delete a flowcondition