From 52ac78989d1621a45ca1bf74603b627c2bd83311 Mon Sep 17 00:00:00 2001 From: Igor Duarte Date: Thu, 8 Feb 2024 16:16:33 -0300 Subject: [PATCH 1/2] ansible-scylla-node: Remove run_once from io_properties block Assuming `scylla_io_probe == true`, this `run_once` had the following logic: * If `scylla_io_probe_dc_aware` was false, the block would run only once and copy the io_properties from the first node to all the others * If it was true the block would run for all the hosts and every node would measure its own io_properties However, having `scylla_io_probe_dc_aware` set to false means that we don't know if the nodes configuration will be the same, meaning that we'd rather measure io_properties per node than copy it from the first node. This PR fixes this problem by removing the `run_once`. Now, we'll only copy io_properties to other nodes in the following scenarios: * if both, `scylla_io_probe` and `scylla_io_probe_dc_aware` are set to `true`, then we copy the io_properties from the first node of each DC to all the others of the same DC. * if io_properties is explicitly set via ansible params, its value will be copied to the nodes of all DCs. --- ansible-scylla-node/tasks/common.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible-scylla-node/tasks/common.yml b/ansible-scylla-node/tasks/common.yml index b7fd7252..29706a9e 100644 --- a/ansible-scylla-node/tasks/common.yml +++ b/ansible-scylla-node/tasks/common.yml @@ -82,7 +82,6 @@ - set_fact: io_conf: "{{ _io_conf.stdout_lines[0] }}" when: io_properties is not defined and scylla_io_probe|bool == True and (scylla_io_probe_dc_aware|bool == False or dc_to_node_list[dc][0] == inventory_hostname) - run_once: "{{ not scylla_io_probe_dc_aware|bool }}" become: true - name: For every node, check if io.conf already exists and if it's not empty From e12440ef9d8fddb06488ea872b409a4c2565f539 Mon Sep 17 00:00:00 2001 From: Igor Duarte Date: Thu, 8 Feb 2024 18:02:52 -0300 Subject: [PATCH 2/2] molecule: Set force_schema_commit_log to true for ubuntu2004-enterprise In the latest enterprise version, if we use the defaults from Scylla we'll see the following error: `init - Bad configuration: consistent_cluster_management requires schema commit log to be enabled` This happens because consistent_cluster_management is set to true and force_schema_commit_log is set to false by default. This PR fixes this error in our CI by setting force_schema_commit_log to true in scylla_yaml_params. --- .../molecule/ubuntu2004-enterprise/molecule.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ansible-scylla-node/molecule/ubuntu2004-enterprise/molecule.yml b/ansible-scylla-node/molecule/ubuntu2004-enterprise/molecule.yml index 1af38ba7..3611daa0 100644 --- a/ansible-scylla-node/molecule/ubuntu2004-enterprise/molecule.yml +++ b/ansible-scylla-node/molecule/ubuntu2004-enterprise/molecule.yml @@ -78,6 +78,9 @@ provisioner: # skip_ntp: True skip_swap: True scylla_manager_deb_repo_url: "http://downloads.scylladb.com/deb/ubuntu/scylladb-manager-2.6-bionic.list" + scylla_yaml_params: + force_schema_commit_log: true + consistent_cluster_management: true playbooks: converge: ../shared/converge.yml prepare: ../shared/prepare.yml