--- # Copyright 2019 Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # "backup_and_restore" will search for and load any operating system variable file # found within the "vars/" path. If no OS files are found the task will skip. - name: Gather variables for each operating system include_vars: "{{ item }}" with_first_found: - skip: true files: - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml" - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - "{{ ansible_distribution | lower }}.yml" - "{{ ansible_os_family | lower }}-{{ ansible_distribution_version.split('.')[0] }}.yml" - "{{ ansible_os_family | lower }}.yml" tags: - always # The shell command is used because the archive ansible module can not use # extra flags needed. - name: Tar and Compress the /var/lib/ceph directory shell: |- tar -zcv --xattrs-include=*.* \ --xattrs \ --xattrs-include=security.capability \ --xattrs-include=security.selinux \ --acls \ -f {{ tripleo_backup_and_restore_ceph_backup_file }} \ {{ tripleo_backup_and_restore_ceph_path }} become: true tags: - bar_create_recover_image - name: Create temporary file tempfile: state: directory suffix: bar register: tripleo_backup_and_restore_temporary_dir tags: - bar_create_recover_image - name: Mount nfs shared directory mount: path: "{{ tripleo_backup_and_restore_temporary_dir.path }}" src: "{{ tripleo_backup_and_restore_nfs_server }}:{{ tripleo_backup_and_restore_nfs_storage_folder }}" fstype: nfs opts: rw,noatime state: mounted tags: - bar_create_recover_image - name: Copy the backup to the shared directory copy: src: "{{ tripleo_backup_and_restore_ceph_backup_file }}" dest: "{{ tripleo_backup_and_restore_temporary_dir.path }}/{{ ansible_hostname }}" remote_src: true tags: - bar_create_recover_image - name: Umount nfs shared directory mount: path: "{{ tripleo_backup_and_restore_temporary_dir.path }}" state: unmounted tags: - bar_create_recover_image - name: Delete the mount point from /etc/fstab mount: path: "{{ tripleo_backup_and_restore_temporary_dir.path }}" src: "{{ tripleo_backup_and_restore_nfs_server }}:{{ tripleo_backup_and_restore_nfs_storage_folder }}" fstype: nfs opts: rw,noatime state: absent tags: - bar_create_recover_image