diff --git a/doc/source/roles/role-backup_and_restore.rst b/doc/source/roles/role-backup_and_restore.rst index 8425cf1a8..b4dc61273 100644 --- a/doc/source/roles/role-backup_and_restore.rst +++ b/doc/source/roles/role-backup_and_restore.rst @@ -77,6 +77,17 @@ Now we create the playbook to create the actual backup. cat <<'EOF' > ~/bar_rear_create_restore_images.yaml # Playbook # We run ReaR in the control plane nodes. + - become: true + hosts: ceph_mon + name: Backup ceph authentication + tasks: + - name: Backup ceph authentication role + include_role: + name: backup_and_restore + tasks_from: ceph_authentication + tags: + - bar_create_recover_image + - become: true hosts: Controller name: Create the recovery images for the control plane @@ -113,7 +124,7 @@ Then, we install ReaR in the desired nodes. --tags bar_setup_rear \ ~/bar_rear_setup.yaml -Lastly, we execute the actual backup step. +Lastly, we execute the actual backup step. With or without ceph. :: diff --git a/tripleo_ansible/roles/backup_and_restore/defaults/main.yml b/tripleo_ansible/roles/backup_and_restore/defaults/main.yml index e5f12e047..da05a54a9 100644 --- a/tripleo_ansible/roles/backup_and_restore/defaults/main.yml +++ b/tripleo_ansible/roles/backup_and_restore/defaults/main.yml @@ -60,3 +60,6 @@ tripleo_backup_and_restore_rescue_config: {} tripleo_backup_and_restore_output_url: "nfs://{{ tripleo_backup_and_restore_nfs_server }}/ctl_plane_backups" tripleo_backup_and_restore_backup_url: "nfs://{{ tripleo_backup_and_restore_nfs_server }}/ctl_plane_backups" + +# Ceph authentication backup file +tripleo_backup_and_restore_ceph_auth_file: "ceph_auth_export.bak" diff --git a/tripleo_ansible/roles/backup_and_restore/molecule/default/prepare.yml b/tripleo_ansible/roles/backup_and_restore/molecule/default/prepare.yml index 850524b4f..229821973 100644 --- a/tripleo_ansible/roles/backup_and_restore/molecule/default/prepare.yml +++ b/tripleo_ansible/roles/backup_and_restore/molecule/default/prepare.yml @@ -38,12 +38,14 @@ roles: - role: test_deps + test_deps_setup_tripleo: true + test_deps_tripleo_packages: + - hiera test_deps_extra_packages: - rear - syslinux - genisoimage - kbd - - puppet - hiera post_tasks: diff --git a/tripleo_ansible/roles/backup_and_restore/tasks/ceph_authentication.yml b/tripleo_ansible/roles/backup_and_restore/tasks/ceph_authentication.yml new file mode 100644 index 000000000..e27540505 --- /dev/null +++ b/tripleo_ansible/roles/backup_and_restore/tasks/ceph_authentication.yml @@ -0,0 +1,41 @@ +--- +# 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 + +- name: Export ceph authentication + shell: | + set -o pipefail + {{ tripleo_container_cli }} exec ceph-mon-{{ ansible_hostname }} bash -c "ceph auth export" > {{ tripleo_backup_and_restore_ceph_auth_file }} + become: true + tags: + - bar_create_recover_image