Browse Source

After SFTP backup, the backup file and the iso must be deleted from the machine

Currently, the SFTP backup leaves huge archives on the machine that the
backup has been taken. This change adds a cleanup task to the
backup&restore role. Also, to perform an SFTP backup, it is needed that
the SSH fingerprint of the storage node is downloaded on the node.
Although this could be done by hand, this change automates also this
action.

bz#1955495

Change-Id: I7b8df9cf8a56606f3db54f00af547378e4f4e472
(cherry picked from commit afe69e3dbf)
changes/49/793049/1
Juan Larriba 3 months ago
parent
commit
dbaf810d18
  1. 11
      tripleo_ansible/roles/backup_and_restore/tasks/run_backup.yml
  2. 33
      tripleo_ansible/roles/backup_and_restore/tasks/setup_rear.yml

11
tripleo_ansible/roles/backup_and_restore/tasks/run_backup.yml

@ -73,3 +73,14 @@
- tripleo_backup_and_restore_enable_snapshots|bool
tags:
- bar_create_recover_image
- name: Clean old backups
shell: |
set -o pipefail
rm -rf /tmp/rear.* || true
rm -rf /var/lib/rear/output/*
failed_when: false
args:
warn: false
tags:
- bar_create_recover_image

33
tripleo_ansible/roles/backup_and_restore/tasks/setup_rear.yml

@ -109,3 +109,36 @@
backup: true
tags:
- bar_setup_rear
- name: Load rear config
become: true
slurp:
src: /etc/rear/local.conf
register: rear_config
tags:
- bar_setup_rear
- name: Extract OUTPUT_URL from rear config
set_fact:
output_url: "{{ rear_config.content | b64decode | regex_findall('OUTPUT_URL=(.+)') | first }}"
tags:
- bar_setup_rear
- name: Check if this is a SFTP backup
set_fact:
sftp_backup: "{{ output_url is search ('sftp://') }}"
tags:
- bar_setup_rear
- name: Extract the SFTP hostname
set_fact:
sftp_host: "{{ output_url | regex_search('(?<=@)(.*?)(?=/)') }}"
when: sftp_backup
tags:
- bar_setup_rear
- name: Retrieve host ssh fingerprint
shell: "ssh-keyscan -H {{ sftp_host }} >> ~/.ssh/known_hosts"
when: sftp_backup
tags:
- bar_setup_rear
Loading…
Cancel
Save