| This test is designed to verify that an ONOS cluster behaves correctly when some |
| ONOS nodes are stopped. Currently, we will stop 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. |
| |
| 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 partition generation and node |
| killing scheme used doesn't give the same properties for clusters of more |
| than 7 nodes. Namely, each partition won't have exactly one node killed. |
| |
| This test will repeat killing a single node then recovering multiple times. |
| |
| The gerneral structure for the test: |
| - Startup |
| - Assign switches |
| - Verify ONOS state and functionality |
| - Device mastership |
| - Intents |
| - Leadership election |
| - Distributed Primitives |
| - Stop some ONOS nodes |
| - Verify ONOS state and functionality |
| - Restart nodes |
| - Verify ONOS state and functionality |
| - Dataplane failures |
| - link down and up |
| - switch down and up |