| This test is designed to verify that an ONOS cluster behaves correctly when some |
| ONOS nodes are upgrade. Then test will initilize the upgrade then stop, upgrade, |
| and restart a minority of the nodes in the cluster. Then we will start the first |
| phase of the upgrade process to transfer to the new version. Then we will roll-back |
| the upgrade, Restarted the upgraded nodes with the older version. After that the |
| test will verify everything works and reset the upgrade. |
| |
| 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 and ONOS clusters |
| should be deployed in odd numbers. |
| |
| The gerneral structure for the test: |
| - Startup |
| - Assign switches |
| - Verify ONOS state and functionality |
| - Device mastership |
| - Intents |
| - Leadership election |
| - Distributed Primitives |
| - Initialize an upgrade |
| - Upgrade some ONOS nodes |
| - Verify ONOS state and functionality |
| - Transfer to new version |
| - Upgrade the rest of the nodes |
| - Verify ONOS state and functionality |
| - Commit the upgrade |
| - Dataplane failures |
| - link down and up |
| - switch down and up |