Modify flowfilter and pathpolicy robot files for VTN Manager RESTCONF
[integration/test.git] / csit / suites / vtn / VTN_Mgr_OF13 / 010__vtn_manager_flowfilter.robot
index 33017248ea9784bd71e14adb261da49c02af3b88..77295c63f272283cd773692df32711185cb6c585 100644 (file)
@@ -2,19 +2,20 @@
 Documentation     Test suite for VTN Manager using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
 Documentation     Test suite for VTN Manager using OF13
 Suite Setup       Start SuiteVtnMaTest
 Suite Teardown    Stop SuiteVtnMaTest
-Force Tags        exclude
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
-${flowfilterInetdata}    {"index":1,"condition":"cond1","filterType":{"pass":{}},"actions":[{"inet4src":{"address":"10.0.0.1"}},{"inet4dst":{"address":"10.0.0.3"}}]}
-${flowfilterInetdropdata}    {"index":1,"condition":"cond1","filterType":{"drop":{}},"actions":[{"inet4src":{"address":"10.0.0.1"}},{"inet4dst":{"address":"10.0.0.3"}}]}
-${flowfilterIcmpCodedata}    {"index":2,"condition":"cond1","filterType":{"pass":{}},"actions":[{"icmpcode":{"code":9}}]}
-${flowfilterTpsrcTpdstdata}    {"index":3,"condition":"cond1","filterType":{"pass":{}},"actions":[{"tpsrc":{"port":"5"}},{"tpdst":{"port":"10"}}]}
-${flowfilterDscpdata}    {"index":6,"condition":"cond1","filterType":{"pass":{}},"actions":[{"dscp": {"dscp": 10}}]}
-${macmap_data}    {"machost": [{"address": "0e:d5:e3:40:a3:f0", "vlan": "0"},{"address": "9a:dd:b0:8a:de:2f", "vlan": "0"}]}
-${flowfiltervlanpcp}    {"index":7,"condition":"cond1","filterType":{"pass":{}},"actions":[{"inet4src":{"address":"10.0.0.1"}},{"inet4dst":{"address":"10.0.0.3"}},{"icmpcode":{"code":1}},{"vlanpcp":{"priority":3}}]}
-${vtn_flowfilterInetdata}    {"index":8,"condition":"cond1","filterType":{"pass":{}},"actions":[{"inet4src":{"address":"10.0.0.1"}},{"inet4dst":{"address":"10.0.0.3"}}]}
-${vbr_flowfilterInetdata}    {"index":9,"condition":"cond1","filterType":{"pass":{}},"actions":[{"inet4src":{"address":"10.0.0.1"}},{"inet4dst":{"address":"10.0.0.3"}}]}
+${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"}]
 
 *** Test Cases ***
 Check if switch1 detected
 
 *** Test Cases ***
 Check if switch1 detected
@@ -31,104 +32,89 @@ Check if switch3 detected
 
 Add a vtn Tenant1
     [Documentation]    Add a vtn Tenant1
 
 Add a vtn Tenant1
     [Documentation]    Add a vtn Tenant1
-    Add a vtn    Tenant1    {"idleTimeout": "200","hardTimeout": "600","description": "Virtual Tenant1 for Hackfest network"}
+    Add a vtn    Tenant1
 
 Add a vBridge vBridge1
     [Documentation]    Add a vBridge vBridge1 in vtn Tenant1
 
 Add a vBridge vBridge1
     [Documentation]    Add a vBridge vBridge1 in vtn Tenant1
-    Add a vBridge    Tenant1    vBridge1    {"ageInterval": "300","description": "vBridge1 for Tenant1"}
+    Add a vBridge    Tenant1    vBridge1
 
 Add a interface If1
     [Documentation]    Add a interface if1 into vBridge vBridge1
 
 Add a interface If1
     [Documentation]    Add a interface if1 into vBridge vBridge1
-    Add a interface    Tenant1    vBridge1    if1    {"enabled": "true","description": "Interface1 for vBridge1 for Tenant1"}
+    Add a interface    Tenant1    vBridge1    if1
 
 Add a interface if2
     [Documentation]    Add a interface if2 into vBridge vBridge1
 
 Add a interface if2
     [Documentation]    Add a interface if2 into vBridge vBridge1
-    Add a interface    Tenant1    vBridge1    if2    {"enabled": "true","description": "Interface2 for vBridge1 for Tenant1"}
+    Add a interface    Tenant1    vBridge1    if2
 
 Add a portmap for interface if1
     [Documentation]    Create a portmap on Interface if1 of vBridge1
 
 Add a portmap for interface if1
     [Documentation]    Create a portmap on Interface if1 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}    Create Dictionary    name=s2-eth1
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if1    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if1    openflow:2    s2-eth1
 
 Add a portmap for interface if2
     [Documentation]    Create a portmap on Interface if2 of vBridge1
 
 Add a portmap for interface if2
     [Documentation]    Create a portmap on Interface if2 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
-    ${port}    Create Dictionary    name=s3-eth1
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if2    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if2    openflow:3    s3-eth1
 
 Ping h1 to h3
     [Documentation]    Ping h1 to h3, verify no packet loss
 
 Ping h1 to h3
     [Documentation]    Ping h1 to h3, verify no packet loss
-    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
 
 Add a vBridge vBridge2
     [Documentation]    Add a vBridge vBridge2 in vtn Tenant1
 
 Add a vBridge vBridge2
     [Documentation]    Add a vBridge vBridge2 in vtn Tenant1
-    Add a vBridge    Tenant1    vBridge2    {}
+    Add a vBridge    Tenant1    vBridge2
 
 Add a interface If3
     [Documentation]    Add a interface if3 into vBrdige vBridge1
 
 Add a interface If3
     [Documentation]    Add a interface if3 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if3    {}
+    Add a interface    Tenant1    vBridge1    if3
 
 Add a interface if4
     [Documentation]    Add a interface if4 into vBrdige vBridge1
 
 Add a interface if4
     [Documentation]    Add a interface if4 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if4    {}
+    Add a interface    Tenant1    vBridge1    if4
 
 Add a portmap for interface if3
     [Documentation]    Create a portmap on Interface if3 of vBridge1
 
 Add a portmap for interface if3
     [Documentation]    Create a portmap on Interface if3 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:02
-    ${port}    Create Dictionary    name=s2-eth2
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if3    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if3    openflow:2    s2-eth2
 
 Add a portmap for interface if4
     [Documentation]    Create a portmap on Interface if4 of vBridge1
 
 Add a portmap for interface if4
     [Documentation]    Create a portmap on Interface if4 of vBridge1
-    ${node}    Create Dictionary    type=OF    id=00:00:00:00:00:00:00:03
-    ${port}    Create Dictionary    name=s3-eth2
-    ${portmap_data}    Create Dictionary    node=${node}    port=${port}
-    Add a portmap    Tenant1    vBridge1    if4    ${portmap_data}
+    Add a portmap    Tenant1    vBridge1    if4    openflow:3    s3-eth2
 
 Ping h2 to h4
     [Documentation]    Ping h2 to h4, verify no packet loss
 
 Ping h2 to h4
     [Documentation]    Ping h2 to h4, verify no packet loss
-    Mininet Ping Should Succeed    h2    h4
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h2    h4
+
+Add a flowcondition
+    [Documentation]    Create a flowcondition cond_1 using restconfig api
+    Add a flowcondition    cond_1
 
 Add a macmap
     [Documentation]    Create a macmap on vBridge vBridge1
 
 Add a macmap
     [Documentation]    Create a macmap on vBridge vBridge1
+    [Tags]    exclude
     Add a macmap    Tenant1    vBridge1    ${macmap_data}
 
 Get flow
     [Documentation]    Get flow of a vtn Tenant1
     Add a macmap    Tenant1    vBridge1    ${macmap_data}
 
 Get flow
     [Documentation]    Get flow of a vtn Tenant1
+    [Tags]    exclude
     Get flow    Tenant1
 
     Get flow    Tenant1
 
-Add a flowcondition cond1
-    [Documentation]    Create a flowcondition cond1
-    ${inet4}=    Create Dictionary    src=10.0.0.1    dst=10.0.0.3
-    ${inetMatch}=    Create Dictionary    inet4=${inet4}
-    ${matchElement}=    Create Dictionary    index=1    inetMatch=${inetMatch}
-    @{matchlist}    Create List    ${matchElement}
-    ${flowcond_data}=    Create Dictionary    name=cond1    match=${matchlist}
-    Add a flowcondition    cond1    ${flowcond_data}
-
 Add a flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
 Add a flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
-    Add a flowfilter    Tenant1    vBridge1    if1    ${flowfilterInetdata}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterInetdata}
+    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 flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
-    Update a flowfilter    Tenant1    vBridge1    if1    ${flowfilterIcmpCodedata}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterIcmpCodedata}
+    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 flowfilter with tpsrc and tpdst
     [Documentation]    Create a flowfilter with tpsrc and tpdst and Verify ping
-    Update a flowfilter    Tenant1    vBridge1    if1    ${flowfilterTpsrcTpdstdata}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterTpsrcTpdstdata}
+    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 flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
-    Update a flowfilter    Tenant1    vBridge1    if1    ${flowfilterDscpdata}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterDscpdata}
+    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
 
 Verify Flow Entry for Inet Flowfilter
     [Documentation]    Verify Flow Entry for Inet Flowfilter
@@ -136,31 +122,33 @@ Verify Flow Entry for Inet Flowfilter
 
 Add a flowfilter with vlanpcp
     [Documentation]    Create a flowfilter with vlanpcp and Verify ping
 
 Add a flowfilter with vlanpcp
     [Documentation]    Create a flowfilter with vlanpcp and Verify ping
-    Update a flowfilter    Tenant1    vBridge1    if1    ${flowfiltervlanpcp}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfiltervlanpcp}
+    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 flowfilter_vtn with inet4src and inet4dst
     [Documentation]    Create a vtn_flowfilter with inet4 and Verify ping
-    Add a flowfilter_vtn    Tenant1    ${vtn_flowfilterInetdata}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vtn flowfilter    Tenant1    ${flowfilterInetdata}
+    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 flowfilter_vbr with inet4src and inet4dst
     [Documentation]    Create a vbr_flowfilter with inet4 and Verify ping
-    Add a flowfilter_vbr    Tenant1    vBridge1    ${vbr_flowfilterInetdata}    ${index}
-    Mininet Ping Should Succeed    h1    h3
+    Add a vbr flowfilter    Tenant1    vBridge1    ${flowfilterInetdata}
+    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
 
 Add a flowfilter with inet4 for drop
     [Documentation]    Create a flowfilter with inet4 for drop action and Verify no pinging
-    Add a flowfilter for drop    Tenant1    vBridge1    if1    ${flowfilterInetdropdata}    ${index}
-    Mininet Ping Should Not Succeed    h1    h3
+    [Tags]    exclude
+    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterInetdropdata}
+    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
 
 Verify Removed Flow Entry For Inet After Drop Action
     [Documentation]    Verify no flows between the hosts after drop
+    [Tags]    exclude
     Verify Removed Flow Entry for Inet Drop Flowfilter
 
 Delete a flowcondition
     [Documentation]    Delete a flowcondition
     Verify Removed Flow Entry for Inet Drop Flowfilter
 
 Delete a flowcondition
     [Documentation]    Delete a flowcondition
-    Delete a flowcondition    cond1
+    Remove flowcondition    cond_1
 
 Delete a vtn Tenant1
     [Documentation]    Delete a vtn Tenant1
 
 Delete a vtn Tenant1
     [Documentation]    Delete a vtn Tenant1