From 753f9520e6de72b9d461b69cd320e02065d4a5aa Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Thu, 11 Feb 2021 13:56:34 +1100 Subject: [PATCH] refstack: add backup We should be backing up the user-generated refstack data Change-Id: I1bd5f0de283a4436967dcae6da9c5d9cd055697c --- inventory/service/groups.yaml | 1 + .../host_vars/refstack01.openstack.org.yaml | 3 +++ playbooks/roles/refstack/tasks/main.yaml | 14 ++++++++++++++ 3 files changed, 18 insertions(+) diff --git a/inventory/service/groups.yaml b/inventory/service/groups.yaml index 97a2119e1a..690fe9deca 100644 --- a/inventory/service/groups.yaml +++ b/inventory/service/groups.yaml @@ -23,6 +23,7 @@ groups: - review[0-9]*.openstack.org - review-dev[0-9]*.open*.org - zuul[0-9]*.open*.org + - refstack01.openstack.org # All these servers are "special-cased" in specifically # as they are puppet and should be replaced "soon" - ethercalc02.openstack.org diff --git a/inventory/service/host_vars/refstack01.openstack.org.yaml b/inventory/service/host_vars/refstack01.openstack.org.yaml index c4bbc4f8e1..603e104c1b 100644 --- a/inventory/service/host_vars/refstack01.openstack.org.yaml +++ b/inventory/service/host_vars/refstack01.openstack.org.yaml @@ -2,3 +2,6 @@ letsencrypt_certs: refstack01-openstack-org-main: - refstack01.openstack.org - refstack.openstack.org +borg_backup_excludes_extra: + # live db files + - /var/lib/refstack/db diff --git a/playbooks/roles/refstack/tasks/main.yaml b/playbooks/roles/refstack/tasks/main.yaml index 170e83c6dc..49b68d97ba 100644 --- a/playbooks/roles/refstack/tasks/main.yaml +++ b/playbooks/roles/refstack/tasks/main.yaml @@ -138,3 +138,17 @@ name: logrotate vars: logrotate_file_name: /var/backups/refstack-mariadb/refstack-mariadb.sql.gz + +- name: Setup db backup streaming job + block: + - name: Create backup streaming config dir + file: + path: /etc/borg-streams + state: directory + + - name: Create db streaming file + copy: + content: >- + /usr/local/bin/docker-compose -f /etc/refstack-docker/docker-compose.yaml exec -T mariadb + bash -c '/usr/bin/mysqldump --skip-extended-insert --databases gitea --single-transaction -uroot -p"$MYSQL_ROOT_PASSWORD"'T_PASSWORD"' + dest: /etc/borg-streams/mysql