e669fa34b3399de2d97c5baf913cf349de7d2403
[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
10 - block:
11     - name: create a temporary workdir
12       tempfile:
13         state: directory
14       register: tmpdir
15
16     - import_role:
17         name: preseed
18       vars:
19         ssh_users_root: "{{ hostvars[hostname].ssh_users_root }}"
20         install_interface: enp1s1
21         preseed_tmpdir: "{{ tmpdir.path }}"
22
23     - name: Make preseed workdir readable by qemu
24       acl:
25         path: "{{ tmpdir.path }}"
26         state: present
27         entity: libvirt-qemu
28         etype: user
29         permissions: rx
30
31     - import_role:
32         name: vm/define
33       vars:
34         vm_define_installer: yes
35         preseed_tmpdir: "{{ tmpdir.path }}"
36
37     - debug:
38         msg: "you can check on the status of the installer running this command 'virsh console {{ hostname }}' on host {{ inventory_hostname }}."
39
40     - name: wait for installer to finish or crash
41       wait_for_virt:
42         name: "{{ hostname }}"
43         states: shutdown,crashed
44         timeout: 900
45       register: installer_result
46       failed_when: installer_result.failed or installer_result.state == "crashed"
47
48   always:
49     - name: cleanup temporary workdir
50       file:
51         path: "{{ tmpdir.path }}"
52         state: absent
53
54 - import_role:
55     name: vm/define
56   vars:
57     vm_define_installer: no