Test Suite for testing basic Interface Manager functions.
Test setup consists of ODL with odl-genius installed and two switches (DPNs) connected
to ODL over OVSDB and OpenflowPlugin.
This suit uses the default Genius topology.
Default Topology
+--------+ +--------+
| BR1 | data | BR2 |
| <-------> |
+---^----+ +----^---+
| mgmt |
+---v-----------------v---+
| |
| ODL |
| |
| odl-genius |
| |
+-------------------------+
Following steps are followed at beginning of test suite:
- Bring up ODL with odl-genius feature installed
- Add bridge to DPN
- Add tap interfaces to bridge created above
- Add OVSDB manager to DPN using ovs-vsctl set-manager
- Connect bridge to OpenFlow using ovs-vsctl set-controller
- Repeat above steps for other DPNs
- Create REST session to ODL
Following steps are followed at beginning of test suite:
- Delete bridge DPN
- Delete OVSDB manager ‘ovs-vsctl del-manager’
- Repeat above steps for other DPNs
- Delete REST session to ODL
Following DataStore models are captured at end of each test case:
- config/itm-config:tunnel-monitor-enabled
- config/itm-config:tunnel-monitor-interval
- config/itm-state:dpn-endpoints
- config/itm-state:external-tunnel-list
- config/itm:transport-zones
- config/network-topology:network-topology
- config/opendaylight-inventory:nodes
- operational/ietf-interfaces:interfaces
- operational/ietf-interfaces:interfaces-state
- operational/itm-config:tunnel-monitor-enabled
- operational/itm-config:tunnel-monitor-interval
- operational/itm-state:tunnels_state
- operational/network-topology:network-topology
- operational/odl-interface-meta:bridge-ref-info
This creates a transparent l2vlan interface between two dpns
Test Steps and Pass Criteria
- Create transparent l2vlan interface through REST
- Interface shows up in config
- Interface state shows up in operational
- Flows are added to Table0 on the bridge
This testcase deletes the l2vlan transparent interface created in previous test case.
Test Steps and Pass Criteria
- Remove all interfaces in config
- Interface config is empty
- Interface states in operational is empty
- Flows are deleted from Table0 on bridge
This testcase creates a l2vlan trunk interface between 2 DPNs.
Test Steps and Pass Criteria
- Create l2vlan trunk interface through REST
- Interface shows up in config
- Interface state shows up in operational
- Flows are added to Table0 on the bridge
This testcase creates a l2vlan Trunk member interface for the l2vlan trunk interface
created in previous testcase.
Test Steps and Pass Criteria
- Create l2vlan trunk member interface through REST
- Interface shows up in config
- Interface state shows up in operational
- Flows are added to Table0 on the bridge
- Flows match on dl_vlan
- Flows have action=pop_vlan
This testcase binds service to the L2vlan Trunk Interface earlier.
Test Steps and Pass Criteria
- Add service bindings for elan and VPN services on L2Vlan Trunk Interface using REST
- Check bindings for VPN and elan services exist on L2Vlan Trunk interface
- Flows are added to Table17 on the bridge
- Flows have action goto_table:21
- Flows have action goto_table:50
This testcase Unbinds the services which were bound in previous testcase.
Test Steps and Pass Criteria
- Delete service bindings for elan and VPN services on L2Vlan Trunk Interface using REST
- Check bindings for VPN and elan services on L2Vlan Trunk interface don’t exist
- No flows on Table0
- No flows with action goto_table:21
- No flows with action goto_table:50
Delete l2vlan trunk interface created and used in earlier test cases
Test Steps and Pass Criteria
- Remove all interfaces in config
- Interface config is empty
- Interface states in operational is empty
- Flows are deleted from Table0 on bridge
- Primary assignee:
- <developer-a>
- Other contributors:
- <developer-b>
<developer-c>
- Link to implementation patche(s) in CSIT - TBD