- name: Ensure Install requirements for MariaDB repository setup script apt: name: "{{ mariadb_requeriments }}" state: present install_recommends: no - name: Download required setup files get_url: url: "{{ item.url }}" dest: "{{ item.dest }}" mode: "{{ item.mode }}" loop: "{{ downloads }}" - name: Run MariaDB repository setup script command: cmd: "/bin/bash /tmp/mariadb_repo_setup --mariadb-server-version=10.11.10" creates: "/etc/apt/sources.list.d/mariadb.list" - name: Install Percona repository package apt: deb: "/tmp/percona-release_latest.generic_all.deb" state: present install_recommends: no - name: Update apt cache apt: update_cache: yes - name: Install MariaDB packages apt: name: "{{ mariadb_base_packages }}" state: present install_recommends: no - name: Add tmpfs in /etc/fstab blockinfile: path: /etc/fstab marker: "# {mark} ANSIBLE-MANAGED TMPFS ENTRY" block: | tmpfs /mnt/mysqltmp tmpfs rw,size={{ mysqltmpsize }} 0 0 register: fstab - name: Configure MariaDB memory check CRON template: src: check-memory.cron dest: /etc/cron.d/vn-check-memory owner: root group: root mode: u=rw,g=r,o=r - name: Configure MariaDB scheduler log CRON copy: src: scheduler-log.cron dest: /etc/cron.d/vn-scheduler-log owner: root group: root mode: u=rw,g=r,o=r - name: Insert MySQL certificates no_log: true copy: content: "{{ item.content }}" dest: "{{ item.dest }}" owner: mysql group: mysql mode: "{{ item.mode }}" loop: "{{ certificates }}" notify: restart-mariadb - name: Ensure required directories exist file: path: "{{ item.path }}" state: directory owner: "{{ item.owner }}" group: "{{ item.group }}" mode: "{{ item.mode }}" loop: "{{ required_directories }}" - name: Copy required MariaBackup files and scripts copy: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: root group: root mode: "{{ item.mode }}" loop: "{{ required_mariabackup_files_and_scripts }}" - name: Set MariaDB common configuration copy: src: conf/z90-vn.cnf dest: /etc/mysql/mariadb.conf.d/ owner: root group: root mode: u=rw,g=r,o=r notify: restart-mariadb - name: Set MariaDB local configuration template template: src: conf/z99-local.cnf dest: /etc/mysql/mariadb.conf.d/ owner: root group: root mode: u=rw,g=r,o=r - name: Set MariaBackup connection configuration template: src: mariabackup/my.cnf dest: /root/mariabackup/ owner: root group: root mode: u=rw,g=,o= - name: Override MariaDB systemd service configuration copy: src: mariadb_override.conf dest: /etc/systemd/system/mariadb.service.d/override.conf owner: root group: root mode: u=rw,g=r,o=r notify: reload-systemd - name: Set MariaDB NRPE configuration copy: src: nrpe/95-mariadb.cfg dest: /etc/nagios/nrpe.d/ owner: root group: root mode: u=rw,g=r,o=r notify: restart-nrpe - name: Check if /var/lib/mysql/ exists stat: path: /var/lib/mysql/ register: mysql_dir - when: mysql_dir.stat.exists block: - name: Sync MySQL data directory synchronize: src: /var/lib/mysql/ dest: /mnt/mysqldata/mysql/ archive: true compress: true recursive: true delegate_to: "{{ inventory_hostname }}" - name: Remove old MySQL data after sync file: path: /var/lib/mysql/ state: absent - name: Mount all filesystems from /etc/fstab command: mount -a when: fstab.changed