diff --git a/ansible/roles/mariadb/tasks/bootstrap_cluster.yml b/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
index 6c3c8537f9e5061bb11b9b6fb37fc29515d1f597..1c9aab453e30f4a39fd3389878ce98c3822d3bc1 100644
--- a/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
+++ b/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
@@ -1,31 +1,37 @@
 ---
-- name: Starting MariaDB bootstrap container
+- name: Running MariaDB bootstrap container
   kolla_docker:
     action: "start_container"
     common_options: "{{ docker_common_options }}"
+    detach: False
     environment:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
       DB_ROOT_PASSWORD: "{{ database_password }}"
       DB_MAX_TIMEOUT: "{{ database_max_timeout }}"
-      ARGS: "--wsrep-new-cluster"
     image: "{{ mariadb_image_full }}"
     labels:
       BOOTSTRAP:
-    name: "mariadb"
+    name: "bootstrap_mariadb"
     restart_policy: "never"
     volumes:
       - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
       - "kolla_logs:/var/log/kolla/"
       - "mariadb:/var/lib/mysql"
 
-- name: Waiting for MariaDB service to be ready
-  command: "docker exec mariadb ls /var/lib/mysql/{{ item }}"
-  register: bootstrap_result
-  until: bootstrap_result | success
-  changed_when: False
-  retries: 6
-  delay: 10
-  with_items:
-    - cluster.exists
-    - mariadb.pid
+- name: Starting first MariaDB container
+  kolla_docker:
+    action: "start_container"
+    common_options: "{{ docker_common_options }}"
+    environment:
+      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+      BOOTSTRAP_ARGS: "--wsrep-new-cluster"
+    image: "{{ mariadb_image_full }}"
+    labels:
+      BOOTSTRAP:
+    name: "mariadb"
+    restart_policy: "never"
+    volumes:
+      - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
+      - "kolla_logs:/var/log/kolla/"
+      - "mariadb:/var/lib/mysql"
diff --git a/ansible/roles/mariadb/tasks/recover_cluster.yml b/ansible/roles/mariadb/tasks/recover_cluster.yml
index 2a19c11acbd6a7030d1e826855b0909869fc7073..6c2fccb7251afd2d9e229b91b1f3735e1abee95a 100644
--- a/ansible/roles/mariadb/tasks/recover_cluster.yml
+++ b/ansible/roles/mariadb/tasks/recover_cluster.yml
@@ -20,7 +20,7 @@
     common_options: "{{ docker_common_options }}"
     environment:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
-      ARGS: "--wsrep-new-cluster"
+      BOOTSTRAP_ARGS: "--wsrep-new-cluster"
     image: "{{ mariadb_image_full }}"
     labels:
       BOOTSTRAP:
diff --git a/ansible/roles/mariadb/templates/galera.cnf.j2 b/ansible/roles/mariadb/templates/galera.cnf.j2
index 095652d847cbae0d81f83c9f2e1d256ac4302b1f..a4210fa9ca6dbe3963636ad9f5c93bca3132f5c9 100644
--- a/ansible/roles/mariadb/templates/galera.cnf.j2
+++ b/ansible/roles/mariadb/templates/galera.cnf.j2
@@ -13,7 +13,7 @@ datadir=/var/lib/mysql/
 
 wsrep_cluster_address=gcomm://{% if (groups['mariadb'] | length) > 1 %}{% for host in groups['mariadb'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mariadb_wsrep_port }}{% if not loop.last %},{% endif %}{% endfor %}{% endif %}
 
-wsrep_provider_options="gmcast.listen_addr=tcp://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }};ist.recv_addr={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_ist_port }}"
+wsrep_provider_options=gmcast.listen_addr=tcp://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }};ist.recv_addr={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_ist_port }}
 
 wsrep_node_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }}
 wsrep_sst_receive_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_sst_port }}
diff --git a/docker/mariadb/extend_start.sh b/docker/mariadb/extend_start.sh
index 3d826c4e8576d0837cb4d6def4467cb4bed8472d..e5d9632b912c6c7ecddc665a92c51f9185abc30e 100644
--- a/docker/mariadb/extend_start.sh
+++ b/docker/mariadb/extend_start.sh
@@ -32,8 +32,12 @@ if [[ $(stat -c %a /var/log/kolla/mariadb) != "755" ]]; then
 fi
 
 # This catches all cases of the BOOTSTRAP variable being set, including empty
-if [[ "${!KOLLA_BOOTSTRAP[@]}" ]] && [[ ! -e /var/lib/mysql/cluster.exists ]]; then
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
     mysql_install_db
     bootstrap_db
-    touch /var/lib/mysql/cluster.exists
+    exit 0
+fi
+
+if [[ "${!BOOTSTRAP_ARGS[@]}" ]]; then
+    ARGS="${BOOTSTRAP_ARGS}"
 fi