TestOn is the testing framework used at ONLAB to run nightly test of ONOS. This page describes the tests ran over the Segment Routing application.
To install TestOn follow thisĀ link on the wiki.
A connectivity test is currently running nightly. The test consists of 3 Steps:
- Configure and installs ONOS
- Start mininet and check flow state
- Test connectivity
The test runs for the following configurations of apps:
drivers,segmentrouting,openflow-base,netcfghostprovider,netcfglinksprovider
- drivers,segmentrouting,openflow
The test runs for the following topologies:
- 2x2 Leaf-Spine
- 4x4 Leaf-Spine
The following are ideas for tests to be implemented:
- [0/4] Basic L2 bridging
- [2/4] Basic L3 routing (including data plane failover)
- [0/1] VLAN cross-connect
- [0/5] Multicast (including data plane failover)
- [0/5] vRouter integration
- [0/4] Dynamic configuration
- Control plane failover
Below we describe these tests in detail
CASE101
- Description: In-Rack connectivity test
- Topology: Single switch
- Configuration: openflow
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall twice.
- Expect: All pings succeed
CASE102
- Description: In-rack connectivity test using openflow-base and etc.
- Topology: Single switch
- Configuration: openflow-base, etc.
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall twice.
- Expect: All pings succeed
CASE103
- Description: 2x2 In-rack connectivity test
- Topology: 2x2 Leaf-Spine Fabric
- Configuration: openflow
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall twice.
- Expect: All pings succeed
CASE104
- Description: 2x2 In-Rack connectivity test using openflow-base
- Topology: 2x2 Leaf-Spine Fabric
- Configuration: openflow-base, etc.
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall twice.
- Expect: All pings succeed
CASE201: COMPLETED
- Description: Full connectivity test
- Topology: 2x2 Leaf-Spine Fabric
- Configuration: openflow
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall twice.
- Expect: All pings succeed
CASE202: COMPLETED
- Description: Full connectivity test
- Topology: 2x2 Leaf-Spine Fabric
- Configuration: openflow-base, etc.
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall twice.
- Expect: All pings succeed
CASE203
- Description: Link failover test on 2x2 fabric
- Topology: 2x2 Leaf-Spine Fabric
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall, shut down a random spine link , execute pingall
- Expect: All pings succeed
CASE204
- Description: Node failover test on 2x2 fabric
- Topology: 2x2 Leaf-Spine Fabric
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall, shutdown a random spine, execute pingall, restart spine execute pingall
- Expect: All pings succeed
CASE301
- Description: VLAN crossconnect connectivity
- Topology: Single Switch with qinq hosts
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall
- Expect: All pings succeed
CASE401
- Description: Multicast connectivity
- Topology: Single Switch with multicast src and dst hosts
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, send multicast traffic, expect traffic at end hosts
- Expect: All pings succeed
CASE402
- Description: Multicast connectivity on 2x2 fabric
- Topology: 2x2 Leaf-Spine with src and dst hosts
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, send multicast traffic, expect traffic at end hosts
- Expect: All pings succeed
CASE403
- Description: Multicast on fabric + Node failover test
- Topology: 2x2 Leaf-Spine with src and dst hosts
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, send multicast traffic, expect traffic at end hosts, shut down a random spine , execute pingall
- Expect: All pings succeed
CASE404
- Description: Multicast on fabric + Link failover test
- Topology: 2x2 Leaf-Spine with src and dst hosts
- Configuration: openflow-base, etc
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, send multicast traffic, expect traffic at end hosts, shut down a random spine link , execute pingall
- Expect: All pings succeed
CASE501
- Description: VRouter integration
- Topology: Single Switch chained to quagga and host
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, ping 8.8.8.8
- Expect: All pings succeed
CASE502
- Description: 2x2 Fabric VRouter integration
- Topology: 2x2 Leaf-spine chained to quagga and host
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, ping 8.8.8.8,
- Expect: All pings succeed
CASE503
- Description: 2x2 Fabric VRouter integration + link failover
- Topology: 2x2 Leaf-spine chained to quagga and host
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, ping 8.8.8.8, shut down a random spine link , execute pingall
- Expect: All pings succeed
CASE504
- Description: Fabric-VRouter integration + node failover
- Topology: 2x2 Leaf-spine chained to quagga and host
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, ping 8.8.8.8, shut down a random spine , execute pingall
- Expect: All pings succeed
CASE505 - Not implemented yet
- Description: Fabric-VRouter integration + quagga link failover
- Topology: Single switch connected to redundant quaggas
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, ping 8.8.8.8, shut down a random quagga link , execute pingall
- Expect: All pings succeed
CASE601
- Description: Dynamically add a host that doesn't belong to an existing subnet
- Topology: single switch
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall, add a host via REST interface, execute pingall
- Expect: All pings succeed
CASE602
- Description: Dynamically add a host that belongs to an existing subnet
- Topology: single switch
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall, add a host via REST interface, execute pingall
- Expect: All pings succeed
CASE603
- Description: Dynamically add a host that doesn't belong to an existing subnet
- Topology: 2x2 Leaf-spine
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall, add a host via REST interface, execute pingall
- Expect: All pings succeed
CASE604
- Description: Dynamically add a host that belongs to an existing subnet
- Topology: 2x2 Leaf-spine
- Configuration: default
- Expect: flow count: undetermined group count: undetermined
- Do: Start topology, execute pingall, add a host via REST interface, execute pingall
- Expect: All pings succeed