🚀 Manage Galera

This commit is contained in:
Emilien Mantel
2024-08-27 11:24:51 +02:00
committed by Emilien M
parent cdfd71ce76
commit c32411c6e4
12 changed files with 111 additions and 62 deletions

View File

@@ -0,0 +1,9 @@
---
- name: Converge
hosts: all
gather_facts: true
tasks:
- name: Include role
ansible.builtin.include_role:
name: "hanxhx.mysql"

View File

@@ -0,0 +1,55 @@
---
platforms:
- name: debian12-galera1
image: dokken/debian-12
command: /lib/systemd/systemd
dockerfile: ../_shared/Dockerfile.j2
capabilities:
- SYS_ADMIN
cgroupns_mode: host
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
privileged: true
groups:
- galera
networks:
- name: "00-molecule-d12-galera"
ipv4_address: '172.16.51.1'
docker_networks:
- name: "00-molecule-d12-galera"
ipam_config:
- subnet: "172.16.51.0/24"
gateway: "172.16.51.254"
- name: debian12-galera2
image: dokken/debian-12
command: /lib/systemd/systemd
dockerfile: ../_shared/Dockerfile.j2
capabilities:
- SYS_ADMIN
cgroupns_mode: host
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
privileged: true
groups:
- galera
networks:
- name: "00-molecule-d12-galera"
ipv4_address: '172.16.51.2'
- name: debian12-galera3
image: dokken/debian-12
command: /lib/systemd/systemd
dockerfile: ../_shared/Dockerfile.j2
capabilities:
- SYS_ADMIN
cgroupns_mode: host
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
privileged: true
groups:
- galera
networks:
- name: "00-molecule-d12-galera"
ipv4_address: '172.16.51.3'

View File

@@ -0,0 +1,31 @@
---
- name: Verify Galera
hosts: galera
gather_facts: false
tasks:
- name: MYSQL_QUERY | Check if Galera is running
community.mysql.mysql_query:
query: "SHOW GLOBAL STATUS LIKE 'wsrep_ready'"
login_unix_socket: /run/mysqld/mysqld.sock
register: wsrep_ready
- name: ASSERT | Fail if Galera is not running
ansible.builtin.assert:
that:
- wsrep_ready.query_result.0.0.Value == "ON"
fail_msg: "Galera is not running"
success_msg: "Galera is running"
- name: MYSQL_QUERY | Check Galera status
community.mysql.mysql_query:
query: "SHOW GLOBAL STATUS LIKE 'wsrep_local_state_comment'"
login_unix_socket: /run/mysqld/mysqld.sock
register: wsrep_local_state_comment
- name: ASSERT | Fail if Galera is not on the right state
ansible.builtin.assert:
that:
- wsrep_local_state_comment.query_result.0.0.Value == "Synced"
fail_msg: "Galera is not expected state ({{ wsrep_local_state_comment.query_result.0.0.Value }})"
success_msg: "Galera is in expected state"