
blueprint database-backup-recovery Introduce a new option, mariadb_backup, which takes a backup of all databases hosted in MariaDB. Backups are performed using XtraBackup, the output of which is saved to a dedicated Docker volume on the target host (which defaults to the first node in the MariaDB cluster). It supports either full (the default) or incremental backups. Change-Id: Ied224c0d19b8734aa72092aaddd530155999dbc3
66 lines
2.0 KiB
YAML
66 lines
2.0 KiB
YAML
---
|
|
- name: Creating haproxy mysql user
|
|
kolla_toolbox:
|
|
module_name: mysql_user
|
|
module_args:
|
|
login_host: "{{ api_interface_address }}"
|
|
login_port: "{{ mariadb_port }}"
|
|
login_user: "{{ database_user }}"
|
|
login_password: "{{ database_password }}"
|
|
name: "haproxy"
|
|
password: ""
|
|
host: "%"
|
|
priv: "*.*:USAGE"
|
|
run_once: True
|
|
|
|
- name: Creating the Percona XtraBackup database
|
|
kolla_toolbox:
|
|
module_name: mysql_db
|
|
module_args:
|
|
login_host: "{{ database_address }}"
|
|
login_port: "{{ database_port }}"
|
|
login_user: "{{ database_user }}"
|
|
login_password: "{{ database_password }}"
|
|
name: "{{ mariadb_backup_database_schema }}"
|
|
run_once: True
|
|
when:
|
|
- enable_xtrabackup | bool
|
|
|
|
- name: Creating database backup user and setting permissions
|
|
kolla_toolbox:
|
|
module_name: mysql_user
|
|
module_args:
|
|
login_host: "{{ database_address }}"
|
|
login_port: "{{ database_port }}"
|
|
login_user: "{{ database_user }}"
|
|
login_password: "{{ database_password }}"
|
|
name: "{{ mariadb_backup_database_user }}"
|
|
password: "{{ mariadb_backup_database_password }}"
|
|
host: "%"
|
|
priv: "*.*:CREATE TABLESPACE,RELOAD,PROCESS,SUPER,LOCK TABLES,REPLICATION CLIENT"
|
|
append_privs: True
|
|
run_once: True
|
|
when:
|
|
- enable_xtrabackup | bool
|
|
|
|
- name: Granting permissions on XtraBackup database to backup user
|
|
kolla_toolbox:
|
|
module_name: mysql_user
|
|
module_args:
|
|
login_host: "{{ database_address }}"
|
|
login_port: "{{ database_port }}"
|
|
login_user: "{{ database_user }}"
|
|
login_password: "{{ database_password }}"
|
|
name: "{{ mariadb_backup_database_user }}"
|
|
password: "{{ mariadb_backup_database_password }}"
|
|
host: "%"
|
|
priv: "{{ mariadb_backup_database_schema }}.*:CREATE,INSERT,SELECT"
|
|
append_privs: True
|
|
run_once: True
|
|
when:
|
|
- enable_xtrabackup | bool
|
|
|
|
- name: Cleaning up facts
|
|
set_fact:
|
|
delegate_host: "bootstraped"
|