Table of Contents
- Bundles-Resync
- Test Setup
- Test Suite Requirements
- Test Cases
- Verify the default reconciliation
- Verify the Bundle based reconciliation by enabling the flag to True
- 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 Bundle based reconciliation by killing the OVS Switch Process
- Implementation
- References
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 |
| |
+-------------------------+
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
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¶
- https://git.opendaylight.org/gerrit/#/c/68364/
- Script path test/csit/suites/openflowplugin/Bundlebased_Reconciliation/010_bundle_resync.robot