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)
This commit is contained in:
Juan Larriba 2021-05-03 14:50:15 +02:00
parent 5b3f9bc960
commit a7176ae421
2 changed files with 64 additions and 0 deletions

View File

@ -45,3 +45,34 @@
var: tripleo_backup_and_restore_rear_output var: tripleo_backup_and_restore_rear_output
tags: tags:
- bar_create_recover_image - bar_create_recover_image
- name: Add the node to the pacemaker cluster
command: pcs node unstandby
when:
- pacemaker_enabled
- tripleo_backup_and_restore_enable_snapshots|bool
tags:
- bar_create_recover_image
- name: Wait until pacemaker has Galera up&running
shell: netstat -tunlp | grep ":3306 " | sed -e 's/.*\///'
register: mysql_result
retries: 10
until: mysql_result is search('mysqld')
delay: 5
when:
- pacemaker_enabled
- 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

View File

@ -109,3 +109,36 @@
backup: true backup: true
tags: tags:
- bar_setup_rear - 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