blob: 415af4cd1dd1ce7f3d80b938d77eff719becec6c [file] [log] [blame]
Jon Hall6e709752016-02-01 13:38:46 -08001This test is designed to verify that an ONOS cluster behaves correctly when
2some ONOS nodes are partitioned. Currently, we will partition nodes so that
3each raft partition will lose a member, but we make sure that there is always
4a majority of nodes available in each partition. We are partitioning the nodes
5by using iptable firewall rules
6
7As written, the test only supports an ONOS cluster of 3,5, or 7 nodes.
8This is because the test doesn't apply to a single node cluster, ONOS clusters
9should be deployed in odd numbers, and the raft partition generation and node
10partitioning scheme used doesn't give the same properties for clusters of more
11than 7 nodes. Namely, each partition won't have exactly one node unavailable.
12
13The gerneral structure for the test:
14- Startup
15- Assign switches
16- Verify ONOS state and functionality
17 - Device mastership
18 - Intents
19 - Leadership election
20 - Distributed Primitives
21- Partition some ONOS nodes
22- Verify ONOS state and functionality
23- Heal partition
24- Verify ONOS state and functionality
25- Dataplane failures
26 - link down and up
27 - switch down and up