ansible/vm/install: Remove unecessary set_fact tasks
[noc.git] / ansible / roles / vm / install / tasks / main.yml
1 ---
2 - name: create disks for vm
3   with_dict: "{{ hostvars[hostname].install_cooked.disks.virtio | default({}) | combine(hostvars[hostname].install_cooked.disks.scsi | default({})) }}"
4   lvol:
5     vg: "{{ item.value.vg }}"
6     lv: "{{ item.value.lv }}"
7     size: "{{ item.value.size }}"
8
9 - name: check if vm already exists
10   virt:
11     name: "{{ hostname }}"
12     command: info
13   register: vmhost_info
14
15 - block:
16     - name: destroy exisiting vm
17       virt:
18         name: "{{ hostname }}"
19         state: destroyed
20
21     - name: wait for vm to be destroyed
22       wait_for_virt:
23         name: "{{ hostname }}"
24         states: shutdown,crashed
25         timeout: 5
26
27     - name: undefining exisiting vm
28       virt:
29         name: "{{ hostname }}"
30         command: undefine
31
32   when: hostname in vmhost_info
33
34 - name: define new installer vm
35   virt:
36     name: "{{ hostname }}"
37     command: define
38     xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}"
39   vars:
40     run_installer: yes
41
42 - name: start vm
43   virt:
44     name: "{{ hostname }}"
45     state: running
46
47 - name: wait for installer to start
48   wait_for_virt:
49     name: "{{ hostname }}"
50     states: running
51     timeout: 10
52
53 - debug:
54     msg: "you can check on the status of the installer running this command 'virsh console {{ hostname }}' on host {{ inventory_hostname }}."
55
56 - name: wait for installer to finish or crash
57   wait_for_virt:
58     name: "{{ hostname }}"
59     states: shutdown,crashed
60     timeout: 1800
61   register: installer_result
62   failed_when: installer_result.failed or installer_result.state == "crashed"
63
64 - name: undefining installer vm
65   virt:
66     name: "{{ hostname }}"
67     command: undefine
68
69 - name: define new production vm
70   virt:
71     name: "{{ hostname }}"
72     command: define
73     xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}"
74   vars:
75     run_installer: no
76
77 - name: start vm
78   virt:
79     name: "{{ hostname }}"
80     state: running
81
82 - name: mark vm as autostarted
83   virt:
84     name: "{{ hostname }}"
85     autostart: "{{ hostvars[hostname].install_cooked.autostart }}"
86     command: info ## virt module needs either command or state
87   when: hostvars[hostname].install_cooked.autostart is defined