Merge "Automate the /var/lib/ceph backup during recovery phase" into stable/wallaby

This commit is contained in:
Zuul 2021-10-05 13:02:14 +00:00 committed by Gerrit Code Review
commit d59d6f44e3
1 changed files with 61 additions and 0 deletions

View File

@ -141,3 +141,64 @@
when: sftp_backup
tags:
- bar_setup_rear
- name: Is this machine a ceph node?
stat:
path: /var/lib/ceph
register: varlibceph_dir
tags:
- bar_setup_rear
- name: Get the directory where /var/lib/ceph is mounted on
shell: |
set -o pipefail
df /var/lib/ceph | grep -v Filesystem | awk '{print $6}'
register: tripleo_backup_and_restore_ceph_dir
when: varlibceph_dir.stat.exists
tags:
- bar_setup_rear
- name: Get the device where /var/lib/ceph is mounted on
shell: |
set -o pipefail
df /var/lib/ceph | grep -v Filesystem | awk '{print $1}'
register: tripleo_backup_and_restore_ceph_device
when: varlibceph_dir.stat.exists
tags:
- bar_setup_rear
- name: Get the filesystem format of the device where /var/lib/ceph is mounted on
shell: |
set -o pipefail
grep {{ tripleo_backup_and_restore_ceph_device.stdout }} /etc/mtab | grep '{{ tripleo_backup_and_restore_ceph_dir.stdout }} ' | awk '{print $3}'
register: tripleo_backup_and_restore_ceph_device_format
when: varlibceph_dir.stat.exists
tags:
- bar_setup_rear
- name: Program a script that will trigger during restore backuping /var/lib/ceph if it exists just before restore
copy:
dest: /usr/share/rear/setup/default/011_backup_ceph.sh
content: |
echo "Taking a fresh ceph data backup if this controller has co-located cephs"
mount -t {{ tripleo_backup_and_restore_ceph_device_format.stdout }} {{ tripleo_backup_and_restore_ceph_device.stdout }} /mnt/local
cd /mnt/local
[ -d "var/lib/ceph" ] && tar cvfz /tmp/ceph.tar.gz var/lib/ceph --xattrs --xattrs-include='*.*' --acls
cd /
umount {{ tripleo_backup_and_restore_ceph_device.stdout }}
when: varlibceph_dir.stat.exists
tags:
- bar_setup_rear
- name: Program a script that will trigger during restoration to restore /var/lib/ceph backup after a full recovery
copy:
dest: /usr/share/rear/wrapup/default/501_restore_ceph.sh
content: |
echo "Restoring ceph backup if it exists"
if [ -f "/tmp/ceph.tar.gz" ]; then
rm -rf /mnt/local/var/lib/ceph/*
tar xvC /mnt/local -f /tmp/ceph.tar.gz var/lib/ceph --xattrs --xattrs-include='*.*'
fi
when: varlibceph_dir.stat.exists
tags:
- bar_setup_rear