diff --git a/restore-remote-database-backup.yml b/restore-remote-database-backup.yml index 9b2608d..53a2bcc 100644 --- a/restore-remote-database-backup.yml +++ b/restore-remote-database-backup.yml @@ -211,6 +211,20 @@ when: - database_engine == 'maria' + +############################################################# +# Deleting volumes for created inventory +############################################################# +- hosts: "restore" + serial: "{{ serial_number | default(5) }}" + gather_facts: false + + tasks: + - name: "Delete volumes for <{{ inventory_hostname }}>" + include_role: + name: lvm_with_hetzner_volumes + tasks_from: _remove_hetzner_volumes + ############################################################# # Deleting servers/domains for created inventory ############################################################# diff --git a/roles/lvm_with_hetzner_volumes/tasks/_remove_hetzner_volumes.yml b/roles/lvm_with_hetzner_volumes/tasks/_remove_hetzner_volumes.yml new file mode 100644 index 0000000..ddbae62 --- /dev/null +++ b/roles/lvm_with_hetzner_volumes/tasks/_remove_hetzner_volumes.yml @@ -0,0 +1,39 @@ +--- + +- name: "Getting all hcloud volumes for {{ inventory_hostname }}" + hcloud_volume_info: + api_token: "{{ hetzner_authentication_ansible }}" + label_selector: "stage={{ stage }},bound_on={{ inventory_hostname }}" + register: hcloud_volumes_found + delegate_to: localhost + become: false + +- name: "Getting all hcloud volumes for {{ inventory_hostname }}" + debug: + msg: "{{ hcloud_volumes_found }}" + +- name: "Setting all hcloud volumes for {{ inventory_hostname }}" + set_fact: + hcloud_volumes: "{{ hcloud_volumes_found.hcloud_volume_info | json_query(jmesquery) }}" + vars: + jmesquery: "[*].name" + +- name: "remove delete protection for all hcloud volumes for {{ inventory_hostname }}" + hcloud_volume: + api_token: "{{ hetzner_authentication_ansible }}" + name: "{{ item }}" + delete_protection: no + delegate_to: 127.0.0.1 + loop: "{{ hcloud_volumes }}" + +- name: "Delete all hcloud volumes for {{ inventory_hostname }}" + hcloud_volume: + api_token: "{{ hetzner_authentication_ansible }}" + name: "{{ item }}" + state: absent + delegate_to: 127.0.0.1 + loop: "{{ hcloud_volumes }}" + + + +