156 lines
3.6 KiB
YAML
156 lines
3.6 KiB
YAML
- 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
|