aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/mariadb/tasks/backup.yml
blob: 665fc5a1e0251aa9acf3fb3c76c2aec4d72e44e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
- name: Get MariaDB container facts
  become: true
  kolla_container_facts:
    action: get_containers
    container_engine: "{{ kolla_container_engine }}"
    name:
      - "{{ mariadb_services.mariadb.container_name }}"
  check_mode: false
  register: container_facts

- name: Taking database backup via Mariabackup - backup type {{ mariadb_backup_type }}
  become: true
  kolla_container:
    action: "start_container"
    command: "bash -c 'sudo -E kolla_set_configs && /usr/local/bin/kolla_mariadb_backup.sh'"
    common_options: "{{ docker_common_options }}"
    detach: false
    # NOTE(mgoddard): Try to use the same image as the MariaDB server container
    # to avoid compatibility issues. See
    # https://bugs.launchpad.net/kolla-ansible/+bug/2058644.
    image: "{{ container_facts.containers[mariadb_services.mariadb.container_name].Config.Image | default(mariadb_services.mariadb.image) }}"
    name: "mariabackup"
    restart_policy: oneshot
    remove_on_exit: true
    environment:
      BACKUP_TYPE: "{{ mariadb_backup_type }}"
    volumes:
      - "{{ node_config_directory }}/mariabackup/:{{ container_config_directory }}/:ro"
      - "/etc/localtime:/etc/localtime:ro"
      - "mariadb:/var/lib/mysql"
      - "mariadb_backup:/backup"
      - "kolla_logs:/var/log/kolla/"
  when:
    - inventory_hostname == mariadb_backup_host
    - mariadb_backup_possible | bool