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