Jon Hall | 6e70975 | 2016-02-01 13:38:46 -0800 | [diff] [blame] | 1 | This test is designed to verify that an ONOS cluster behaves correctly when |
| 2 | some ONOS nodes are partitioned. Currently, we will partition nodes so that |
| 3 | each raft partition will lose a member, but we make sure that there is always |
| 4 | a majority of nodes available in each partition. We are partitioning the nodes |
| 5 | by using iptable firewall rules |
| 6 | |
| 7 | As written, the test only supports an ONOS cluster of 3,5, or 7 nodes. |
| 8 | This is because the test doesn't apply to a single node cluster, ONOS clusters |
| 9 | should be deployed in odd numbers, and the raft partition generation and node |
| 10 | partitioning scheme used doesn't give the same properties for clusters of more |
| 11 | than 7 nodes. Namely, each partition won't have exactly one node unavailable. |
| 12 | |
| 13 | The 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 |