scylla-ansible-roles icon indicating copy to clipboard operation
scylla-ansible-roles copied to clipboard

Scylla Ansible Node - Upgrade rework

Open fee-mendes opened this issue 2 years ago • 0 comments

This commit is a rework on the steps to upgrade a cluster. In particular, the previous version didn't upgraded nodes serially, nor would abort the entire process in case of a failure, nor covered the scenarios described in #134 and #133

Upgrading a cluster programatically is complex in general, as we must ensure that the failure of a single node aborts the entire process. In that sense, we must also check several things such as whether the version we are upgrading to is a valid one or not, and whether we are already on 'latest' or not to prevent introducing an unecessary rolling restart to the cluster.

These aspects - and many others - make testing of this extremely complex, lengthy and time consuming. However, I have ensured we at least have "minimal" coverage for some common operations.

That said, the following tests have been run, whereas all tests were run concurrently in an Ubuntu 20.04/Debian 10/CentOS 7 mixed cluster:

Test 1 : Install 2021.1.1 == success Test 2 : Downgrade to 2021.1.0 without specifying upgrade_version == expected failure Test 3 : Upgrade to 2021.1.2 without specifying upgrade_version == expected failure Test 4 : Upgrade to 2021.1.2 specifying upgrade_version == success Test 5 : Upgrade to 2021.1.50 specifying upgrade_version == expected failure Test 6 : Try to upgrade to 'latest' without specifying upgrade_version == expected failure Test 7 : Try to upgrade to 'latest' specifying upgrade_version == success Test 8 : Try to downgrade to 2021.1.11 with upgrade_version and NOT specifying upgrade_allow_user_manual_downgrade == expected failure Test 9 : Try to downgrade to 2021.1.11 with upgrade_version and specifying upgrade_allow_user_manual_downgrade == success Test 10 : Major upgrade to 2022.1 latest == Appears to work, can't confirm due to a bug in the release.

Fixes #133, #134

fee-mendes avatar Jul 05 '22 21:07 fee-mendes