scylladb / scylla-ansible-roles

Ansible roles for deploying and managing Scylla, Scylla-Manager and Scylla-Monitoring
44 stars 38 forks source link

scylla-node: don't ever install scylla on top of already installed one #289

Closed vladzcloudius closed 1 year ago

vladzcloudius commented 1 year ago

Scylla should only be upgraded via the corresponding 'upgrade' flow. Other than that the Role should only install binaries if they haven't been installed yet.

If they have already been installed but the version differs from the one specified via 'scylla_version' Role will error out by default.

The Operator may decide to skip the check above using 'skip_installed_scylla_version_check'.

vladzcloudius commented 1 year ago

New in v3:

New in v4:

New in v5:

Both Ubuntu and RH manual testing included: 1) Install the 2 nodes cluster with 2022.2.6 with a vanilla Role. 2) Run the Role from the PR: should succeed. 3) Set scylla_version: 2022.2.11 and run the Role from the PR: should fail on a scylla version check. 4) Run as (3) but also set skip_installed_scylla_version_check: True: should succeed and scylla version installed remain 2022.2.6. 5) Decommission one of the nodes and remove all scylla packages from it. 6) Run the Role the same way as in (4): should succeed and install 2022.2.11 on the node from (5). 7) Set scylla_version: latest and validate that the Role is capable to identify what's the latest scylla version to date: run this test with scylla_edition: oss and with scylla_edition: enterprise.

tarzanek commented 1 year ago

thnx, merging!