diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index d27139d2cdbb602a8a00c62c32eac881cdbba5c8..a1b2cfbdcd1cf0bab74fa71a2040241759778462 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 b208219d63ecec82457773add888c3d84c54cc85..7a9dfd12fa12fe28dc93f6fc8d1a433b4465ee4f 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 b6af2212f0fed40218c72e693b3b664c33b192a6..5bd3cc94232f44ad758c5db62dd2549cfb494777 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 0000000000000000000000000000000000000000..81555d7a44ccdc4c37acdf4231b87ff49a80aed1
--- /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 <https://bugs.launchpad.net/kolla-ansible/+bug/1947589>`__