diff options
author | Christian Pointner <equinox@spreadspace.org> | 2020-07-11 02:58:28 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2020-07-11 02:58:28 +0200 |
commit | 49c58d575f420165f7d8341bccb8b4ba4629e735 (patch) | |
tree | dfbfe6a937ec04fa7d48de8c1d08a1596ba837b2 /roles/vm/guest/define/tasks/main.yml | |
parent | Merge branch 'topic/debian-installer-verification' (diff) | |
parent | ch-gnocchi: remove temporary interface config (diff) |
Merge branch 'topic/vm-host-network'
Diffstat (limited to 'roles/vm/guest/define/tasks/main.yml')
-rw-r--r-- | roles/vm/guest/define/tasks/main.yml | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/roles/vm/guest/define/tasks/main.yml b/roles/vm/guest/define/tasks/main.yml new file mode 100644 index 00000000..d0790628 --- /dev/null +++ b/roles/vm/guest/define/tasks/main.yml @@ -0,0 +1,50 @@ +--- +- name: check if vm already exists + virt: + name: "{{ install_hostname }}" + command: info + register: vmhost_info + +- name: remove old vm + when: install_hostname in vmhost_info + block: + - name: destroy exisiting vm + virt: + name: "{{ install_hostname }}" + state: destroyed + + - name: wait for vm to be destroyed + wait_for_virt: + name: "{{ install_hostname }}" + states: shutdown,crashed + timeout: 5 + + - name: undefining exisiting vm + virt: + name: "{{ install_hostname }}" + command: undefine + +- name: define vm + virt: + command: define + xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" + +- name: start new vm + when: vm_define_start | bool + block: + - name: start vm + virt: + name: "{{ install_hostname }}" + state: running + + - name: wait for VM to start + wait_for_virt: + name: "{{ install_hostname }}" + states: running + timeout: 10 + +- name: mark vm as autostarted + virt: + name: "{{ install_hostname }}" + autostart: "{{ vm_define_autostart }}" + command: info ## virt module needs either command or state |