Description | Passing Criteria |
Topology Discovery | - All Switches, Links, and Ports are discovered
- All information (DPIDs, MACs, Port numbers) are correct
- ONOS correctly discovers any change in dataplane topology
- Each node in an ONOS cluster has the same correct view of the topology
|
Device Mastership | - Devices have one and only one ONOS node as master
- Mastership correctly changes when device roles are manually changed
- Mastership fails over if current master becomes unavailable
- Each node in an ONOS cluster has the same view of device mastership
|
Intents | - Intents can be added between hosts
- Hosts connected by Intents have dataplane connectivity
- Intents remain in the cluster as long as some ONOS nodes are available
- Connectivity is preserved during dataplane failures as long as at least one path exists between the hosts
|
Switch Failure | - Topology is updated and intents are recompiled
|
Link Failure
| - Topology is updated and intents are recompiled
|
Leadership Election | Applications can run for leadership of topics. This service should be safe, stable and fault tolerant. - The service is functional before and after failures, nodes can withdraw and run for election
- There is always only one leader per topic in an ONOS cluster.
|
Distributed Sets | Call each of the following APIs and make sure they are functional and cluster wide - get()
- size()
- add()
- addAll()
- contains()
- containsAll()
- remove()
- removeAll()
- clear()
- retain()
In addition, we also check that sets are unaffected by ONOS failures |
Distributed Atomic Counters | Call each of the following APIs and make sure they are functional and cluster wide In addition, we also check that sets are unaffected by ONOS failures. Note: In-memory counters will not persist across cluster wide restarts |
Cluster Service | - Every ONOS node should be clustered with every other node in the test (unless we specifically make one unavailable)
|
Application Service | - Application IDs are unique to an application
- Application activation
- Application deactivation
- Active applications reactivate on restart
|