vm/define: the vm autostart flag survives even if the vm is undefined so we need...
[noc.git] / ansible / roles / vm / define / tasks / main.yml
1 ---
2 - name: check if vm already exists
3   virt:
4     name: "{{ hostname }}"
5     command: info
6   register: vmhost_info
7
8 - when: hostname in vmhost_info
9   block:
10     - name: destroy exisiting vm
11       virt:
12         name: "{{ hostname }}"
13         state: destroyed
14
15     - name: wait for vm to be destroyed
16       wait_for_virt:
17         name: "{{ hostname }}"
18         states: shutdown,crashed
19         timeout: 5
20
21     - name: undefining exisiting vm
22       virt:
23         name: "{{ hostname }}"
24         command: undefine
25
26
27 - name: define vm
28   virt:
29     command: define
30     xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}"
31
32 - when: vm_define_start | bool
33   block:
34     - name: start vm
35       virt:
36         name: "{{ hostname }}"
37         state: running
38
39     - name: wait for VM to start
40       wait_for_virt:
41         name: "{{ hostname }}"
42         states: running
43         timeout: 10
44
45 - name: mark vm as autostarted
46   virt:
47     name: "{{ hostname }}"
48     autostart: "{{ vm_define_autostart }}"
49     command: info ## virt module needs either command or state