--- - name: check if vm already exists delegate_to: "{{ vm_host.name }}" virt: name: "{{ inventory_hostname }}" command: info register: vmhost_info - name: remove old vm when: inventory_hostname in vmhost_info delegate_to: "{{ vm_host.name }}" block: - name: destroy exisiting vm virt: name: "{{ inventory_hostname }}" state: destroyed - name: wait for vm to be destroyed wait_for_virt: name: "{{ inventory_hostname }}" states: shutdown,crashed timeout: 5 - name: undefining exisiting vm virt_with_undefineflags: ## TODO: switch back to virt once this lands: https://github.com/ansible-collections/community.libvirt/pull/136 name: "{{ inventory_hostname }}" command: undefine flags: "{{ vm_remove_undefine_flags | default(omit) }}"