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

  1. Bring up the Controller.

  2. Set the switch fail mode to Secure.

  3. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow

  4. Restart the switch

  5. Check that the flows pushed via Rest call should be present and the static flow added

  6. Capture via Wireshark and check that the OFPT_EXP messages are not captured.

  7. Check in the karaf.log and confirm if EXP messages are not logged

  8. Flap the management interface of the switch.

  9. Also ensure that the static flow added would be present.

  10. Capture via Wireshark and check that the OFPT_EXP messages are not captured.

  11. Check in the karaf.log and confirm if EXP messages are not logged

    1. 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

  1. Bring up the Controller.

  2. Set the bundle-based-reconciliation-enabled=true.

  3. Check if the flag set event is logged in karaf.log.

  4. Set the bundle-based-reconciliation-enabled=false.

  5. Check if the flag set event is logged in karaf.log.

    1. 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

  1. Bring up the Controller.

  2. Set the bundle-based-reconciliation-enabled=true.

  3. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow

  4. Set the Switch fail-mode set to secure.

  5. Check if the flag set event is logged in karaf.log.

  6. Restart the switch

  7. Check if the Wireshark has the OFPT_EXP messages captured.

  8. Check for the same messages to be logged in the karaf.log.

  9. Repeat the same with fail-mode set to stand-alone

  10. Static flow should not be present in both stand-alone and secure mode as the switch is restarted.

    1. 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

  1. Bring up the Controller.

  2. Set the bundle-based-reconciliation-enabled=true.

  3. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow

  4. Set the Switch fail-mode set to secure.

  5. Check if the flag set event is logged in karaf.log.

  6. Restart the switch

  7. Check if the Wireshark has the OFPT_EXP messages captured.

  8. Check for the same messages to be logged in the karaf.log.

  9. Repeat the same with fail-mode set to stand-alone

  10. Static flow should not be present in both stand-alone and secure mode as the switch is restarted.

    1. 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

  1. Bring up the Controller.

  2. Set the bundle-based-reconciliation-enabled=true

  3. Push group dependent flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow

  4. Set the Switch fail-mode set to secure.

  5. Check if the flag set event is logged in karaf.log.

  6. Check if the pushed flows are there in the OVS.

  7. Get a new switch connected to the Controller.

  8. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow to the newly added switch

  9. Flap the management interface of the new switch.

  10. Ensure the flows are pushed via bundles to the new switch.

  11. Flows remain intact in the switch that was already connected.

    1. 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

  1. Bring up the Controller.

  2. Set the bundle-based-reconciliation-enabled=true.

  3. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow

  4. Set the Switch fail-mode set to secure.

  5. Check if the flag set event is logged in karaf.log.

  6. Kill the OVS Switch process

  7. Check if the Wireshark has the OFPT_EXP messages captured.

  8. Check for the same messages to be logged in the karaf.log.

  9. Repeat the same with fail-mode set to stand-alone

  10. Static flow should not be present in both stand-alone and secure mode.

    1. 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.

References