Bundles-Resync¶
Test Suite for testing Bundles-Reconciliation functionality.
Test Setup¶
Test setup consists of ODL and two switches(Openflow nodes) connected to ODL via OpenflowPlugin Channel (6653).
Testbed Topologies¶
This suit uses the default topology.
Default Topology¶
+--------+ +--------+
| BR1 | data | BR2 |
| <-------> |
+---^----+ +----^---+
| mgmt |
+---v-----------------v---+
| |
| ODL |
| |
| Bundle Resync enabled |
| |
+-------------------------+
Hardware Requirements¶
N.A.
Software Requirements¶
OVS 2.6+
Test Suite Requirements¶
Test Suite Bringup¶
Following steps are followed at beginning of test suite:
Bring up ODL with odl-openflowplugin-flow-services-rest installed.
Add bridge br-int to openflow node
Connect bridge to OpenFlow using ovs-vsctl set-controller
Repeat above steps for other openflow nodes
Test Suite Cleanup¶
Following steps are followed at the end of test suite:
Delete bridge br-int on openflow node
Repeat the same for other openflow nodes
Debugging¶
Following DataStore models are captured at end of each test case:
config/opendaylight-inventory:nodes
operational/opendaylight-inventory:nodes
Test Cases¶
Testcases covered in automation:
Verify the Bundle based reconciliation with switch(OVS) restart scenario
Verify the Bundle based reconciliation by pushing group dependent flow with switch(OVS) restart scenario
Verify the Bundle Based reconciliation by connecting a new switch(OVS)
Verify the default reconciliation¶
This Verifies the default reconciliation (bundle-based-reconciliation-enabled=false)
Test Steps and Pass Criteria¶
Bring up the Controller.
Set the switch fail mode to Secure.
Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
Restart the switch
Check that the flows pushed via Rest call should be present and the static flow added
Capture via Wireshark and check that the OFPT_EXP messages are not captured.
Check in the karaf.log and confirm if EXP messages are not logged
Flap the management interface of the switch.
Also ensure that the static flow added would be present.
Capture via Wireshark and check that the OFPT_EXP messages are not captured.
Check in the karaf.log and confirm if EXP messages are not logged
Verify the Test Procedure.
Troubleshooting¶
N.A.
Verify the Bundle based reconciliation by enabling the flag to True¶
The Objective of this Testcase is to check the bundle based resync mechanism by enabling the flag
Test Steps and Pass Criteria¶
Bring up the Controller.
Set the bundle-based-reconciliation-enabled=true.
Check if the flag set event is logged in karaf.log.
Set the bundle-based-reconciliation-enabled=false.
Check if the flag set event is logged in karaf.log.
Verify the Test steps.
Troubleshooting¶
N.A.
Verify the Bundle based reconciliation with switch(OVS) restart scenario¶
The Objective of this Testcase to verify bundle based reconciliation with ovs restart scenario.
Test Steps and Pass Criteria¶
Bring up the Controller.
Set the bundle-based-reconciliation-enabled=true.
Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
Set the Switch fail-mode set to secure.
Check if the flag set event is logged in karaf.log.
Restart the switch
Check if the Wireshark has the OFPT_EXP messages captured.
Check for the same messages to be logged in the karaf.log.
Repeat the same with fail-mode set to stand-alone
Static flow should not be present in both stand-alone and secure mode as the switch is restarted.
Verify the Test steps.
Troubleshooting¶
N.A.
Verify the Bundle based reconciliation by pushing group dependent flow with switch(OVS) restart scenario¶
The Objective of this Testcase to verify bundle based reconciliation with ovs restart scenario.
Test Steps and Pass Criteria¶
Bring up the Controller.
Set the bundle-based-reconciliation-enabled=true.
Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
Set the Switch fail-mode set to secure.
Check if the flag set event is logged in karaf.log.
Restart the switch
Check if the Wireshark has the OFPT_EXP messages captured.
Check for the same messages to be logged in the karaf.log.
Repeat the same with fail-mode set to stand-alone
Static flow should not be present in both stand-alone and secure mode as the switch is restarted.
Verify the Test steps.
Troubleshooting¶
N.A.
Verify the Bundle Based reconciliation by connecting a new switch(OVS)¶
The Objective of this Testcase to verify the bundle based reconciliation by connecting a new switch to the controller.
Test Steps and Pass Criteria¶
Bring up the Controller.
Set the bundle-based-reconciliation-enabled=true
Push group dependent flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
Set the Switch fail-mode set to secure.
Check if the flag set event is logged in karaf.log.
Check if the pushed flows are there in the OVS.
Get a new switch connected to the Controller.
Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow to the newly added switch
Flap the management interface of the new switch.
Ensure the flows are pushed via bundles to the new switch.
Flows remain intact in the switch that was already connected.
Verify the Test Steps
Troubleshooting¶
N.A.
Verify the Bundle based reconciliation by killing the OVS Switch Process¶
The Objective of this Testcase to verify the bundle based reconciliation by killing the ovs switch.
Test Steps and Pass Criteria¶
Bring up the Controller.
Set the bundle-based-reconciliation-enabled=true.
Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
Set the Switch fail-mode set to secure.
Check if the flag set event is logged in karaf.log.
Kill the OVS Switch process
Check if the Wireshark has the OFPT_EXP messages captured.
Check for the same messages to be logged in the karaf.log.
Repeat the same with fail-mode set to stand-alone
Static flow should not be present in both stand-alone and secure mode.
Verify the Test Steps
Troubleshooting¶
N.A.
Implementation¶
Assignee(s)¶
- Primary assignee:
Fathima Thasneem (a.fathima.thasneem@ericsson.com)
- Other contributors:
N.A.
Work Items¶
N.A.
Links¶
Script path test/csit/suites/openflowplugin/Bundlebased_Reconciliation/010_bundle_resync.robot