blob: 415af4cd1dd1ce7f3d80b938d77eff719becec6c [file] [log] [blame]
This test is designed to verify that an ONOS cluster behaves correctly when
some ONOS nodes are partitioned. Currently, we will partition nodes so that
each raft partition will lose a member, but we make sure that there is always
a majority of nodes available in each partition. We are partitioning the nodes
by using iptable firewall rules
As written, the test only supports an ONOS cluster of 3,5, or 7 nodes.
This is because the test doesn't apply to a single node cluster, ONOS clusters
should be deployed in odd numbers, and the raft partition generation and node
partitioning scheme used doesn't give the same properties for clusters of more
than 7 nodes. Namely, each partition won't have exactly one node unavailable.
The gerneral structure for the test:
- Startup
- Assign switches
- Verify ONOS state and functionality
- Device mastership
- Intents
- Leadership election
- Distributed Primitives
- Partition some ONOS nodes
- Verify ONOS state and functionality
- Heal partition
- Verify ONOS state and functionality
- Dataplane failures
- link down and up
- switch down and up