diff options
Diffstat (limited to 'tools/ovn_migration/tripleo_environment/playbooks/roles/recovery-backup/tasks/main.yml')
-rw-r--r-- | tools/ovn_migration/tripleo_environment/playbooks/roles/recovery-backup/tasks/main.yml | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tools/ovn_migration/tripleo_environment/playbooks/roles/recovery-backup/tasks/main.yml b/tools/ovn_migration/tripleo_environment/playbooks/roles/recovery-backup/tasks/main.yml new file mode 100644 index 0000000000..6ed510316a --- /dev/null +++ b/tools/ovn_migration/tripleo_environment/playbooks/roles/recovery-backup/tasks/main.yml @@ -0,0 +1,68 @@ +--- + +- name: Create controller's backup + block: + - name: Create temp folder related to backup + file: + state: directory + path: "{{ backup_and_recover_temp_folder }}" + + # Using this task on OSP17 + - name: Copy tripleo-inventory + copy: + src: "{{ ansible_inventory }}" + dest: "{{ backup_and_recover_temp_folder }}/tripleo-inventory.yaml" + when: + - create_backup|bool + - ansible_inventory is defined + - ansible_inventory != "" + + # Using this task in OSP16.x + - name: Generate tripleo inventory + shell: | + source {{ stackrc }} && + tripleo-ansible-inventory \ + --ansible_ssh_user {{ undercloud_node_user }} \ + --static-yaml-inventory {{ backup_and_recover_temp_folder }}/tripleo-inventory.yaml + when: + - create_backup|bool + - ansible_inventory is not defined or ansible_inventory == "" + + - name: Setup NFS on the backup node using IP {{ backup_migration_ip }} + shell: | + source {{ stackrc }} && + openstack overcloud backup \ + --inventory {{ backup_and_recover_temp_folder }}/tripleo-inventory.yaml \ + --setup-nfs \ + --extra-vars '{ + "tripleo_backup_and_restore_server": {{ backup_migration_ip }}, + "nfs_server_group_name": {{ revert_preparation_server_name }} + }' + + - name: Setup REAR on the controllers + shell: | + source {{ stackrc }} && + openstack overcloud backup \ + --inventory {{ backup_and_recover_temp_folder }}/tripleo-inventory.yaml \ + --setup-rear \ + --extra-vars '{ + "tripleo_backup_and_restore_server": {{ backup_migration_ip }} + }' + + - name: Backup the controllers + shell: | + source {{ stackrc }} && + openstack overcloud backup \ + --inventory {{ backup_and_recover_temp_folder }}/tripleo-inventory.yaml + + # Ensure that after the controller backups the api responds + - name: Ensure that the OSP api is working + shell: > + source {{ overcloudrc }} && openstack flavor list + retries: 20 + register: api_rc + delay: 5 + ignore_errors: yes + until: api_rc.rc == "0" + when: create_backup|bool + |