--- # Cleanup a single VM (used in loop) - name: Destroy VM {{ vm_to_cleanup }} command: virsh -c qemu:///system destroy {{ vm_to_cleanup }} become: true register: destroy_result failed_when: false changed_when: destroy_result.rc == 0 - name: Undefine VM {{ vm_to_cleanup }} command: virsh -c qemu:///system undefine {{ vm_to_cleanup }} become: true register: undefine_result failed_when: false changed_when: undefine_result.rc == 0 - name: Remove disk for VM {{ vm_to_cleanup }} file: path: "/var/lib/libvirt/images/{{ vm_to_cleanup }}.qcow2" state: absent become: true when: remove_disk