49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
---
|
|
|
|
- name: Template replication config file
|
|
template:
|
|
src: "replication.cnf.j2"
|
|
dest: "/etc/mysql/conf.d/replication.cnf"
|
|
owner: "root"
|
|
group: "root"
|
|
mode: "0644"
|
|
notify:
|
|
- restart mariadb
|
|
|
|
- name: check slave status
|
|
mysql_replication:
|
|
mode: getslave
|
|
login_user: "{{ di_legacy_secure_mysql_replication_user }}"
|
|
login_password: "{{ di_legacy_secure_mysql_replication_password }}"
|
|
ignore_errors: True
|
|
register: slave
|
|
|
|
- name: check master status
|
|
mysql_replication:
|
|
mode: getmaster
|
|
login_user: "{{ di_legacy_secure_mysql_replication_user }}"
|
|
login_password: "{{ di_legacy_secure_mysql_replication_password }}"
|
|
delegate_to: "{{ di_legacy_secure_mysql_replication_master }}"
|
|
ignore_errors: True
|
|
register: master
|
|
|
|
- name: configure slave if needed
|
|
mysql_replication:
|
|
mode: changemaster
|
|
config_file: "/etc/mysql/mysql-root.cnf"
|
|
master_host: "{{ di_legacy_secure_mysql_replication_master }}"
|
|
master_user: "{{ di_legacy_secure_mysql_replication_user }}"
|
|
master_password: "{{ di_legacy_secure_mysql_replication_password }}"
|
|
master_log_file: "{{ master.File }}"
|
|
master_log_pos: "{{ master.Position }}"
|
|
ignore_errors: True
|
|
when: >
|
|
(slave.Is_Slave is defined and not slave.Is_Slave) or (slave.Is_Slave is not defined and slave|failed)
|
|
|
|
- name: start replication
|
|
mysql_replication:
|
|
config_file: "/etc/mysql/mysql-root.cnf"
|
|
mode: startslave
|
|
when: >
|
|
(slave.Is_Slave is defined and not slave.Is_Slave) or (slave.Is_Slave is not defined and slave|failed)
|