7f47ddf7f4
Currently, Xtrabackup is used for database backups. However, Xtrabackup is not compatible with MariaDB 10.3. This change switches to use mariabackup [1], which is available in the mariadb image. The documented full and incremental restore procedures have been modified to use mariabackup, following [2] and [3]. [1] https://mariadb.com/kb/en/library/mariabackup-overview/ [2] https://mariadb.com/kb/en/library/full-backup-and-restore-with-mariabackup/ [3] https://mariadb.com/kb/en/library/incremental-backup-and-restore-with-mariabackup/ Change-Id: Id52b9b1f7b013277e401b1f6b8aed34473d2b2c4 Closes-Bug: #1843043 Depends-On: https://review.opendev.org/691290
102 lines
2.9 KiB
YAML
102 lines
2.9 KiB
YAML
---
|
|
- name: Ensuring config directories exist
|
|
file:
|
|
path: "{{ node_config_directory }}/{{ item.key }}"
|
|
state: "directory"
|
|
owner: "{{ config_owner_user }}"
|
|
group: "{{ config_owner_group }}"
|
|
mode: "0770"
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ mariadb_services }}"
|
|
|
|
- name: Ensuring database backup config directory exists
|
|
file:
|
|
path: "{{ node_config_directory }}/mariabackup"
|
|
state: "directory"
|
|
owner: "{{ config_owner_user }}"
|
|
group: "{{ config_owner_group }}"
|
|
mode: "0770"
|
|
become: true
|
|
when:
|
|
- enable_mariabackup | bool
|
|
- inventory_hostname == mariadb_backup_host
|
|
|
|
- name: Copying over my.cnf for mariabackup
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/backup.my.cnf.j2"
|
|
- "{{ node_custom_config }}/backup.my.cnf"
|
|
- "{{ node_custom_config }}/mariadb/{{ inventory_hostname }}/backup.my.cnf"
|
|
dest: "{{ node_config_directory }}/mariabackup/my.cnf"
|
|
owner: "{{ config_owner_user }}"
|
|
group: "{{ config_owner_group }}"
|
|
mode: "0660"
|
|
become: true
|
|
when:
|
|
- enable_mariabackup | bool
|
|
- inventory_hostname == mariadb_backup_host
|
|
|
|
- name: Copying over config.json files for services
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
template:
|
|
src: "{{ service_name }}.json.j2"
|
|
dest: "{{ node_config_directory }}/{{ service_name }}/config.json"
|
|
mode: "0660"
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- restart mariadb
|
|
|
|
- name: Copying over config.json files for mariabackup
|
|
vars:
|
|
service_name: "mariabackup"
|
|
template:
|
|
src: "{{ service_name }}.json.j2"
|
|
dest: "{{ node_config_directory }}/{{ service_name }}/config.json"
|
|
mode: "0660"
|
|
become: true
|
|
when:
|
|
- enable_mariabackup | bool
|
|
- inventory_hostname == mariadb_backup_host
|
|
|
|
- name: Copying over galera.cnf
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/galera.cnf.j2"
|
|
- "{{ node_custom_config }}/galera.cnf"
|
|
- "{{ node_custom_config }}/mariadb/{{ inventory_hostname }}/galera.cnf"
|
|
dest: "{{ node_config_directory }}/{{ service_name }}/galera.cnf"
|
|
mode: "0660"
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[service.group]
|
|
- service.enabled | bool
|
|
notify:
|
|
- restart mariadb
|
|
|
|
- name: Copying over wsrep-notify.sh
|
|
template:
|
|
src: "{{ role_path }}/templates/wsrep-notify.sh.j2"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/wsrep-notify.sh"
|
|
mode: "0770"
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ mariadb_services }}"
|
|
notify:
|
|
- restart mariadb
|
|
|
|
- include_tasks: check-containers.yml
|
|
when: kolla_action != "config"
|