--- - name: Install software ansible.builtin.package: name: "{{ item }}" state: present with_items: "{{ db_packages }}" - name: "Quick-Fix MariaDB/systemd problems" ansible.builtin.lineinfile: path: /usr/lib/systemd/system/mariadb.service regexp: "^SendSIGKILL=no" line: "SendSIGKILL=yes" backup: true register: db_systemd_fix when: ansible_virtualization_type == "lxc" - name: Reload systemd daemon # noqa: no-handler ansible.builtin.systemd: daemon_reload: true when: db_systemd_fix is changed - name: Get MariaDB settings community.mysql.mysql_info: filter: settings login_unix_socket: /var/run/mysqld/mysqld.sock register: db_settings - name: "Config: Listen on all ip addresses" ansible.builtin.lineinfile: path: /etc/mysql/mariadb.conf.d/50-server.cnf regexp: "^ *#* *bind-address" line: "bind-address = 0.0.0.0" backup: true - name: Template galera.cnf ansible.builtin.template: src: galera.cnf.j2 dest: /etc/mysql/conf.d/galera.cnf owner: root group: root mode: '0644' backup: true - name: Init Galera cluster when: db_settings.settings.wsrep_cluster_address == "" block: - name: 'Stop service "{{ db_servicename }}"' ansible.builtin.service: name: "{{ db_servicename }}" state: stopped - name: Create galera cluster # noqa: no-handler no-changed-when ansible.builtin.command: cmd: /usr/bin/galera_new_cluster when: inventory_hostname == groups.db.0 - name: 'Enable service "{{ db_servicename }}"' ansible.builtin.service: name: "{{ db_servicename }}" state: started enabled: true