mirror of
https://github.com/HanXHX/ansible-mysql.git
synced 2026-02-26 10:22:09 +07:00
🚀 Manage Galera
This commit is contained in:
committed by
Emilien M
parent
cdfd71ce76
commit
c32411c6e4
@@ -1,4 +1,5 @@
|
||||
---
|
||||
|
||||
- name: SET_FACT | Prepare mark var
|
||||
ansible.builtin.set_fact:
|
||||
__mark: "{{ mariadb_datadir }}/.ansible_galera_boostrap"
|
||||
|
||||
@@ -2,31 +2,20 @@
|
||||
|
||||
- name: APT | Install Galera
|
||||
ansible.builtin.apt:
|
||||
pkg: "{{ mariadb_galera_package_name }}"
|
||||
name: "{{ mariadb_galera_package_name }}"
|
||||
|
||||
- name: TEMPLATE | Deploy Galera configuration
|
||||
ansible.builtin.template:
|
||||
src: etc/mysql/mariadb.conf.d/20-galera.cnf.j2
|
||||
dest: /etc/mysql/mariadb.conf.d/20-galera.cnf
|
||||
src: etc/mysql/mariadb.conf.d/60-galera.cnf.j2
|
||||
dest: /etc/mysql/mariadb.conf.d/60-galera.cnf
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: root
|
||||
register: galeraconfig
|
||||
notify: Restart mariadb
|
||||
|
||||
- name: INCLUDE | Bootstrap first node
|
||||
ansible.builtin.import_tasks: 'bootstrap.yml'
|
||||
when: inventory_hostname == mariadb_galera_primary_node
|
||||
|
||||
- name: INCLUDE | Configure other nodes
|
||||
ansible.builtin.import_tasks: 'nodes.yml'
|
||||
when: inventory_hostname != mariadb_galera_primary_node
|
||||
|
||||
- name: SERVICE | Restart MariaDB if needed
|
||||
ansible.builtin.service:
|
||||
name: "{{ mariadb_service_name }}"
|
||||
state: restarted
|
||||
when:
|
||||
((galeraconfig or (p is defined and p.changed)) and
|
||||
(bootstrap_run is not defined)) or
|
||||
((inventory_hostname != mariadb_galera_primary_node) and
|
||||
(mariadb_galera_resetup))
|
||||
- name: META | Flush handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
|
||||
- name: COMMAND | GET debian.cnf from primary node
|
||||
ansible.builtin.command: cat /etc/mysql/debian.cnf
|
||||
register: debiancnf
|
||||
delegate_to: '{{ mariadb_galera_primary_node }}'
|
||||
changed_when: false
|
||||
|
||||
- name: COMMAND | Get current debian.cnf
|
||||
ansible.builtin.command: cat /etc/mysql/debian.cnf
|
||||
register: ondc
|
||||
changed_when: false
|
||||
|
||||
- name: BLOCK | Compare debian.cnf
|
||||
when: debiancnf.stdout != ondc.stdout
|
||||
block:
|
||||
|
||||
- name: SERVICE | Stop MariaDB
|
||||
ansible.builtin.service:
|
||||
name: "{{ mariadb_service_name }}"
|
||||
state: stopped
|
||||
|
||||
- name: COPY | Paste primary node's debian.cnf
|
||||
ansible.builtin.copy:
|
||||
content: "{{ debiancnf.stdout }}"
|
||||
dest: /etc/mysql/debian.cnf
|
||||
mode: 0600
|
||||
owner: root
|
||||
group: root
|
||||
register: paste
|
||||
|
||||
- name: SERVICE | Start MariaDB
|
||||
ansible.builtin.service:
|
||||
name: "{{ mariadb_service_name }}"
|
||||
state: started
|
||||
Reference in New Issue
Block a user