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.

As the directory structure is not the same in train as it is in more
advanced versions, this cherry pick is not completely clean, and some
rework needed to be done to put the code in the right place.

bz#1955495

Change-Id: I7b8df9cf8a56606f3db54f00af547378e4f4e472
(cherry picked from commit afe69e3dbf)
This commit is contained in:
Juan Larriba 2021-05-03 14:50:15 +02:00
parent 2979a005c9
commit dad7312fd9
2 changed files with 44 additions and 0 deletions

View File

@ -45,3 +45,14 @@
var: tripleo_backup_and_restore_rear_output
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

View File

@ -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