diff options
Diffstat (limited to 'deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml')
-rw-r--r-- | deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml new file mode 100644 index 00000000..e0afcaec --- /dev/null +++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml @@ -0,0 +1,33 @@ +--- +- name: start first node to create new cluster + service: + name: mysql + state: restarted + enabled: yes + args: "--wsrep-new-cluster" + when: + - inventory_hostname == haproxy_hosts.keys()[0] + +- name: wait for cluster ready + command: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"' + register: cluster_status + until: cluster_status|success + failed_when: not cluster_status.stdout | search("OPERATIONAL") + retries: 10 + delay: 3 + when: + - inventory_hostname == haproxy_hosts.keys()[0] + +- name: restart other nodes and join cluster + service: + name: mysql + state: restarted + enabled: yes + when: + - inventory_hostname != haproxy_hosts.keys()[0] + +- name: restart first nodes + service: + name: mysql + state: restarted + when: inventory_hostname == haproxy_hosts.keys()[0] and haproxy_hosts|length > 1 |