From 68cd2a055371cc25a0502ff4db22fbcdececd478 Mon Sep 17 00:00:00 2001 From: Seena Fallah Date: Sat, 16 Oct 2021 22:34:21 +0330 Subject: [PATCH] mariadb: use add_host to include inactive hosts in shard grouping In case of running mariadb role with --limit the group_by module will only include the limited hosts and other hosts that are not limited by ansible will not be included. Using add_host will add all hosts in mariadb group to their shards group Signed-off-by: Seena Fallah Change-Id: I1331698e313bd714a16fc35f38fb579d75b56370 Closes-Bug: #1947589 --- ansible/group_vars/all.yml | 3 +++ ansible/roles/mariadb/defaults/main.yml | 3 --- ansible/roles/mariadb/tasks/main.yml | 6 ++++-- releasenotes/notes/bug-1947589-52e7a6fa5d82e7fa.yaml | 6 ++++++ 4 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 releasenotes/notes/bug-1947589-52e7a6fa5d82e7fa.yaml diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index d27139d2cd..a1b2cfbdcd 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -377,6 +377,9 @@ mariadb_clustercheck_port: "4569" mariadb_monitor_user: "haproxy" mariadb_default_database_shard_id: 0 mariadb_default_database_shard_hosts: "{% set default_shard = [] %}{% for host in groups['mariadb'] %}{% if hostvars[host]['mariadb_shard_id'] is not defined or hostvars[host]['mariadb_shard_id'] == mariadb_default_database_shard_id %}{{ default_shard.append(host) }}{% endif %}{% endfor %}{{ default_shard }}" +mariadb_shard_id: "{{ mariadb_default_database_shard_id }}" +mariadb_shard_name: "shard_{{ mariadb_shard_id }}" +mariadb_shard_group: "mariadb_{{ mariadb_shard_name }}" mariadb_loadbalancer: "haproxy" masakari_api_port: "15868" diff --git a/ansible/roles/mariadb/defaults/main.yml b/ansible/roles/mariadb/defaults/main.yml index b208219d63..7a9dfd12fa 100644 --- a/ansible/roles/mariadb/defaults/main.yml +++ b/ansible/roles/mariadb/defaults/main.yml @@ -123,7 +123,4 @@ enable_mariadb_clustercheck: "{{ enable_haproxy }}" #################### # Sharding #################### -mariadb_shard_id: "{{ mariadb_default_database_shard_id }}" -mariadb_shard_name: "shard_{{ mariadb_shard_id }}" -mariadb_shard_group: "mariadb_{{ mariadb_shard_name }}" mariadb_shard_database_user: "{% if mariadb_loadbalancer == 'haproxy' %}{{ database_user }}{% else %}root_{{ mariadb_shard_name }}{% endif %}" diff --git a/ansible/roles/mariadb/tasks/main.yml b/ansible/roles/mariadb/tasks/main.yml index b6af2212f0..5bd3cc9423 100644 --- a/ansible/roles/mariadb/tasks/main.yml +++ b/ansible/roles/mariadb/tasks/main.yml @@ -1,7 +1,9 @@ --- - name: Group MariaDB hosts based on shards - group_by: - key: "{{ mariadb_shard_group }}" + add_host: + name: "{{ item }}" + groups: "{{ hostvars[item]['mariadb_shard_group'] }}" + loop: "{{ groups['mariadb'] }}" changed_when: false - include_tasks: "{{ kolla_action }}.yml" diff --git a/releasenotes/notes/bug-1947589-52e7a6fa5d82e7fa.yaml b/releasenotes/notes/bug-1947589-52e7a6fa5d82e7fa.yaml new file mode 100644 index 0000000000..81555d7a44 --- /dev/null +++ b/releasenotes/notes/bug-1947589-52e7a6fa5d82e7fa.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixes the generation of ``wsrep_cluster_address`` in ``galera.cnf`` + when ``--limit`` is used while deploying MariaDB nodes. + `LP#1947589 `__