neutron/tools/ovn_migration/tripleo_environment/playbooks/roles/recovery-backup/tasks/main.yml

69 lines
2.2 KiB
YAML

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