Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

  • incrementAndGet()

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

Last Update: 
by: