65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
---
|
|
|
|
- name: remove vms
|
|
ovirt_vm:
|
|
auth: "{{ ovirt_auth }}"
|
|
name: "{{ item }}"
|
|
cluster: "{{ providers.ovirt.cluster | default('Default') }}"
|
|
storage_domain: "{{ item.storage_domain | default(omit) }}"
|
|
state: absent
|
|
wait: yes
|
|
async: 7200
|
|
poll: 0
|
|
register: undeploy
|
|
loop: "{{ ansible_play_hosts | intersect(nodes | map(attribute='name') | list) }}"
|
|
when:
|
|
- nodes is defined
|
|
- hostvars[item].name is defined
|
|
|
|
- name: wait for vms to be deleted
|
|
async_status:
|
|
jid: "{{ item.ansible_job_id }}"
|
|
register: vm_remove
|
|
until: vm_remove.finished
|
|
retries: "{{ instance_wait_retry_limit }}"
|
|
delay: 10
|
|
loop: "{{ undeploy.results }}"
|
|
when:
|
|
- nodes is defined
|
|
- undeploy.results is defined
|
|
- item.ansible_job_id is defined
|
|
|
|
- name: delete additional disks
|
|
ovirt_disk:
|
|
auth: "{{ ovirt_auth }}"
|
|
name: "{% if item.1.name_prefix | default(true) %}{{ item.0.name }}_{% endif %}{{ item.1.name }}"
|
|
vm_name: "{{ item.0.name }}"
|
|
storage_domain: "{{ item.1.storage_domain | default(omit) }}"
|
|
state: absent
|
|
wait: no
|
|
async: 7200
|
|
poll: 0
|
|
register: delete_disks
|
|
with_subelements:
|
|
- "{{ nodes | json_query(query) }}"
|
|
- disks
|
|
- skip_missing: yes
|
|
when:
|
|
- nodes is defined
|
|
- item.1 is defined
|
|
- item.1.storage_domain is defined
|
|
vars:
|
|
query: "@[?contains(`{{ ansible_play_hosts }}`, name)]"
|
|
|
|
- name: wait for disk deletion to complete
|
|
async_status:
|
|
jid: "{{ item.ansible_job_id }}"
|
|
register: disks_deletion
|
|
until: disks_deletion.finished
|
|
retries: "{{ instance_wait_retry_limit }}"
|
|
delay: 10
|
|
loop: "{{ delete_disks.results }}"
|
|
when:
|
|
- nodes is defined
|
|
- delete_disks.results is defined
|
|
- item.ansible_job_id is defined |