* Removed Force tags "exclude" in 010__vtn_manager_dataflow.robot and 010__vtn_vlanmap.robot(OF10 and OF13) files
* Modify test case to work for RESTCONF feature, earlier test was written for RESTAPI spec.
* Modify VtnMaKeyword.robot file for vlanmap and dataflow functioanlities.
Change-Id: I050e54e95c737783741f0efa755920f74ad172d4
Signed-off-by: Karthik.S <siva-karthik@hcl.com>
${DUMPFLOWS_OF13} dpctl dump-flows -O OpenFlow13
${index} 7
@{FLOWELMENTS} nw_src=10.0.0.1 nw_dst=10.0.0.3 actions=drop
-@{BRIDGE1_DATAFLOW} "reason":"PORTMAPPED" "path":{"tenant":"Tenant1","bridge":"vBridge1","interface":"if2"}
-@{BRIDGE2_DATAFLOW} "reason":"PORTMAPPED" "path":{"tenant":"Tenant1","bridge":"vBridge2","interface":"if3"}
-${vlanmap_bridge1} {"vlan": "200"}
-${vlanmap_bridge2} {"vlan": "300"}
-@{VLANMAP_BRIDGE1_DATAFLOW} "reason":"VLANMAPPED" "path":{"tenant":"Tenant1","bridge":"vBridge1_vlan"}
-@{VLANMAP_BRIDGE2_DATAFLOW} "reason":"VLANMAPPED" "path":{"tenant":"Tenant1","bridge":"vBridge2_vlan"}
+@{BRIDGE1_DATAFLOW} "reason":"PORTMAPPED" "virtual-node-path":{"bridge-name":"vBridge1","tenant-name":"Tenant1","interface-name":"if2"}
+@{BRIDGE2_DATAFLOW} "reason":"PORTMAPPED" "virtual-node-path":{"bridge-name":"vBridge2","tenant-name":"Tenant1","interface-name":"if3"}
+${vlanmap_bridge1} 200
+${vlanmap_bridge2} 300
+@{VLANMAP_BRIDGE1_DATAFLOW} "reason":"VLANMAPPED" "virtual-node-path":{"bridge-name":"vBridge1_vlan","tenant-name":"Tenant1","vlan-map-id":"ANY.200"}
+@{VLANMAP_BRIDGE2_DATAFLOW} "reason":"VLANMAPPED" "virtual-node-path":{"bridge-name":"vBridge2_vlan","tenant-name":"Tenant1","vlan-map-id":"ANY.300"}
${in_port} 1
${out_before_pathpolicy} output:2
${out_after_pathpolicy} output:3
Documentation Test suite for VTN Manager Data Flow using OF10
Suite Setup Start SuiteVtnMaTest
Suite Teardown Stop SuiteVtnMaTest
-Force Tags exclude
Resource ../../../libraries/VtnMaKeywords.robot
*** Test Cases ***
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 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 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 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
- ${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
- ${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
- Mininet Ping Should Succeed h1 h3
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Verify data flow details For vBridge1
[Documentation] Verify the data flows for the specified tenant and bridge
- Verify Data Flows Tenant1 vBridge1
+ Wait Until Keyword Succeeds 20s 1s Verify Data Flows Tenant1 vBridge1
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 Tenant1 vBridge2 if3 {}
+ Add a interface Tenant1 vBridge2 if3
Add a interface if4
[Documentation] Add a interface if4 into vBrdige vBridge1
- Add a interface Tenant1 vBridge2 if4 {}
+ Add a interface Tenant1 vBridge2 if4
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 vBridge2 if3 ${portmap_data}
+ Add a portmap Tenant1 vBridge2 if3 openflow:2 s2-eth2
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 vBridge2 if4 ${portmap_data}
+ Add a portmap Tenant1 vBridge2 if4 openflow:3 s3-eth2
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
Verify data flow details for vBridge2
[Documentation] Verify the data flows for the specified tenant and bridge
Verify FlowMacAddress
[Documentation] Checking Flows on switch
- Verify FlowMacAddress h2 h4 OF13
+ Wait Until Keyword Succeeds 20s 1s Verify FlowMacAddress h2 h4 OF10
Remove Portmap for If1
[Documentation] Remove portmap for the interface If1
- ${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}
- Remove a portmap Tenant1 vBridge1 if1 ${portmap_data}
+ Remove a portmap Tenant1 vBridge1 if1
Verify RemovedFlowMacAddress
[Documentation] flows will be deleted after the port map is removed
Documentation Test suite for VTN Manager using OF10
Suite Setup Start SuiteVtnMaTest
Suite Teardown Stop SuiteVtnMaTest
-Force Tags exclude
Resource ../../../libraries/VtnMaKeywords.robot
*** Test Cases ***
Add a vtn Tenant1
[Documentation] Add a vtn Tenant1
- Add a vtn Tenant1 {}
+ Add a vtn Tenant1
Add a vBridge vBridge1
[Documentation] Add a vBridge vBridge1 in vtn Tenant1
- Add a vBridge Tenant1 vBridge1 {}
+ Add a vBridge Tenant1 vBridge1
Add a vlanmap for bridge1
[Documentation] Add a Vlanmap for bridge1 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 vlanmap for bridge2
[Documentation] Add a Vlanmap for bridge1 in vtn Tenant1
Get vlanflow h1 h3
[Documentation] ping h1 to h3
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h1 h3
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Get vlanflow h1 h5
[Documentation] ping h1 to h5
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h1 h5
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h5
Get vlanflow h2 h4
[Documentation] ping h2 to h4
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h2 h4
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h2 h4
Get vlanflow h2 h6
[Documentation] ping h2 to h6
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h2 h6
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h2 h6
Get vlanflow h2 h5
[Documentation] ping h2 to h5
- Mininet Ping Should Not Succeed h2 h5
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Not Succeed h2 h5
Delete a vtn Tenant1
[Documentation] Delete a vtn Tenant1
Documentation Test suite for VTN Manager Data Flow using OF13
Suite Setup Start SuiteVtnMaTest
Suite Teardown Stop SuiteVtnMaTest
-Force Tags exclude
Resource ../../../libraries/VtnMaKeywords.robot
*** Test Cases ***
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 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 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 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
- ${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
- ${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
- Mininet Ping Should Succeed h1 h3
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Verify data flow details For vBridge1
[Documentation] Verify the data flows for the specified tenant and bridge
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 Tenant1 vBridge2 if3 {}
+ Add a interface Tenant1 vBridge2 if3
Add a interface if4
[Documentation] Add a interface if4 into vBrdige vBridge1
- Add a interface Tenant1 vBridge2 if4 {}
+ Add a interface Tenant1 vBridge2 if4
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 vBridge2 if3 ${portmap_data}
+ Add a portmap Tenant1 vBridge2 if3 openflow:2 s2-eth2
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 vBridge2 if4 ${portmap_data}
+ Add a portmap Tenant1 vBridge2 if4 openflow:3 s3-eth2
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
Verify data flow details for vBridge2
[Documentation] Verify the data flows for the specified tenant and bridge
Verify FlowMacAddress
[Documentation] Checking Flows on switch
- Verify FlowMacAddress h2 h4 OF13
+ Wait Until Keyword Succeeds 20s 1s Verify FlowMacAddress h2 h4 OF13
Remove Portmap for If1
[Documentation] Remove portmap for the interface If1
- ${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}
- Remove a portmap Tenant1 vBridge1 if1 ${portmap_data}
+ Remove a portmap Tenant1 vBridge1 if1
Verify RemovedFlowMacAddress
[Documentation] flows will be deleted after the port map is removed
Documentation Test suite for VTN Manager using OF13
Suite Setup Start SuiteVtnMaTest
Suite Teardown Stop SuiteVtnMaTest
-Force Tags exclude
Resource ../../../libraries/VtnMaKeywords.robot
*** Test Cases ***
Add a vtn Tenant1
[Documentation] Add a vtn Tenant1
- Add a vtn Tenant1 {}
+ Add a vtn Tenant1
Add a vBridge vBridge1
[Documentation] Add a vBridge vBridge1 in vtn Tenant1
- Add a vBridge Tenant1 vBridge1 {}
+ Add a vBridge Tenant1 vBridge1
Add a vlanmap for bridge1
[Documentation] Add a Vlanmap for bridge1 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 vlanmap for bridge2
[Documentation] Add a Vlanmap for bridge1 in vtn Tenant1
Get vlanflow h1 h3
[Documentation] ping h1 to h3
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h1 h3
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Get vlanflow h1 h5
[Documentation] ping h1 to h5
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h1 h5
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h5
Get vlanflow h2 h4
[Documentation] ping h2 to h4
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h2 h4
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h2 h4
Get vlanflow h2 h6
[Documentation] ping h2 to h6
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h2 h6
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h2 h6
Get vlanflow h2 h5
[Documentation] ping h2 to h5
- Mininet Ping Should Not Succeed h2 h5
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Not Succeed h2 h5
Delete a vtn Tenant1
[Documentation] Delete a vtn Tenant1
Documentation Test suite for VTN Manager Data Flows using OF13
Suite Setup Start SuiteVtnMaTest
Suite Teardown Stop SuiteVtnMaTest
-Force Tags exclude
Resource ../../../libraries/VtnMaKeywords.robot
*** Test Cases ***
Add a vtn Tenant1
[Documentation] Add a vtn Tenant1
- Add a vtn Tenant1 {}
+ Add a vtn Tenant1
Add a vBridge vBridge1_vlan
[Documentation] Add a vBridge vBridge1_vlan in vtn Tenant1
- Add a vBridge Tenant1 vBridge1_vlan {}
+ Add a vBridge Tenant1 vBridge1_vlan
Add a vlanmap for vBridge1_vlan
[Documentation] Add a Vlanmap for vBridge1_vlan in vtn Tenant1
Add a vBridge vBridge2_vlan
[Documentation] Add a vBridge vBridge2_vlan in vtn Tenant1
- Add a vBridge Tenant1 vBridge2_vlan {}
+ Add a vBridge Tenant1 vBridge2_vlan
Add a vlanmap for vBridge2_vlan
[Documentation] Add a Vlanmap for vBridge2_vlan in vtn Tenant1
Get vlanflow h1 h3
[Documentation] ping h1 to h3
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h1 h3
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h3
Get vlanflow h1 h5
[Documentation] ping h1 to h5
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h1 h5
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h1 h5
Verify data flow details for vlanmap vBridge1_vlan
[Documentation] Verify the data flows for the specified tenant and vBridge1_vlan
Get vlanflow h2 h4
[Documentation] ping h2 to h4
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h2 h4
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h2 h4
Get vlanflow h2 h6
[Documentation] ping h2 to h6
- Wait Until Keyword Succeeds 10s 2s Mininet Ping Should Succeed h2 h6
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Succeed h2 h6
Verify data flow details for vlanmap vBridge2_vlan
[Documentation] Verify the data flows for the specified tenant and vBridge2_vlan
Get vlanflow h2 h5
[Documentation] ping h2 to h5
- Mininet Ping Should Not Succeed h2 h5
+ Wait Until Keyword Succeeds 20s 1s Mininet Ping Should Not Succeed h2 h5
Delete a vtn Tenant1
[Documentation] Delete a vtn Tenant1