--- - 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)