Commit | Line | Data |
---|---|---|
4be44748 KS |
1 | --- |
2 | - name: Install virtualization packages | |
3 | apt: | |
4 | name: ['qemu-kvm', 'libvirt-daemon-system'] | |
5 | - name: Run libvirtd | |
6 | systemd: | |
7 | name: libvirtd | |
8 | enabled: true | |
9 | state: started | |
10 | - name: Download ISOs | |
11 | loop: "{{ isos }}" | |
12 | get_url: | |
13 | dest: "{{item.dest}}" | |
14 | url: "{{item.url}}" | |
15 | checksum: "{{item.checksum}}" | |
16 | - name: Create VM disks | |
17 | loop: "{{ lookup('vars', 'vms', default=[]) }}" | |
18 | vars: | |
19 | vm: "{{ vm_defaults | combine(item.vars) }}" | |
20 | when: vm.disk != "" | |
21 | shell: | |
22 | cmd: "qemu-img create -f qcow2 {{vm.disk}} {{vm.disk_capacity}}" | |
23 | creates: "{{vm.disk}}" | |
24 | - name: Define VMs | |
25 | # Note: is vm.uuid is not set and the template is changed, those changes will not be applied | |
26 | # Note: many changes will require the VM to be destroyed then started again | |
27 | community.libvirt.virt: | |
28 | command: define | |
29 | xml: "{{ lookup('template', item.template|default('vm_template.xml.j2')) }}" | |
30 | autostart: true | |
31 | loop: "{{ lookup('vars', 'vms', default=[]) }}" | |
32 | vars: | |
33 | vm: "{{ vm_defaults | combine(item.vars) }}" |