summaryrefslogtreecommitdiff
path: root/roles/vm/guest/define
diff options
context:
space:
mode:
Diffstat (limited to 'roles/vm/guest/define')
-rw-r--r--roles/vm/guest/define/defaults/main.yml5
-rw-r--r--roles/vm/guest/define/tasks/main.yml55
-rw-r--r--roles/vm/guest/define/templates/libvirt-domain.xml.j296
3 files changed, 0 insertions, 156 deletions
diff --git a/roles/vm/guest/define/defaults/main.yml b/roles/vm/guest/define/defaults/main.yml
deleted file mode 100644
index f0c74831..00000000
--- a/roles/vm/guest/define/defaults/main.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-vm_define_autostart: "{{ not vm_define_installer and install.vm.autostart | default(False) }}"
-vm_define_start: yes
-
-vm_define_installer: no
diff --git a/roles/vm/guest/define/tasks/main.yml b/roles/vm/guest/define/tasks/main.yml
deleted file mode 100644
index 769afdac..00000000
--- a/roles/vm/guest/define/tasks/main.yml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-- name: check if vm already exists
- delegate_to: "{{ vm_host.name }}"
- virt:
- name: "{{ inventory_hostname }}"
- command: info
- register: vmhost_info
-
-- name: remove old vm
- when: inventory_hostname in vmhost_info
- delegate_to: "{{ vm_host.name }}"
- block:
- - name: destroy exisiting vm
- virt:
- name: "{{ inventory_hostname }}"
- state: destroyed
-
- - name: wait for vm to be destroyed
- wait_for_virt:
- name: "{{ inventory_hostname }}"
- states: shutdown,crashed
- timeout: 5
-
- - name: undefining exisiting vm
- virt:
- name: "{{ inventory_hostname }}"
- command: undefine
-
-- name: define vm
- delegate_to: "{{ vm_host.name }}"
- virt:
- command: define
- xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}"
-
-- name: start new vm
- when: vm_define_start | bool
- delegate_to: "{{ vm_host.name }}"
- block:
- - name: start vm
- virt:
- name: "{{ inventory_hostname }}"
- state: running
-
- - name: wait for VM to start
- wait_for_virt:
- name: "{{ inventory_hostname }}"
- states: running
- timeout: 10
-
-- name: mark vm as autostarted
- delegate_to: "{{ vm_host.name }}"
- virt:
- name: "{{ inventory_hostname }}"
- autostart: "{{ vm_define_autostart }}"
- command: info ## virt module needs either command or state
diff --git a/roles/vm/guest/define/templates/libvirt-domain.xml.j2 b/roles/vm/guest/define/templates/libvirt-domain.xml.j2
deleted file mode 100644
index 11b1be6e..00000000
--- a/roles/vm/guest/define/templates/libvirt-domain.xml.j2
+++ /dev/null
@@ -1,96 +0,0 @@
-<domain type='kvm'>
- <name>{{ inventory_hostname }}</name>
- <memory>{{ ((install.vm.memory | human_to_bytes) / 1024) | int }}</memory>
- <currentMemory>{{ ((install.vm.memory | human_to_bytes) / 1024) | int }}</currentMemory>
- <vcpu>{{ install.vm.numcpus }}</vcpu>
- <os>
- <type arch='x86_64' machine='q35'>hvm</type>
-{% if vm_define_installer %}
-{% if install_distro == 'debian' or install_distro == 'ubuntu' %}
- <kernel>{{ installer_tmpdir }}/linux</kernel>
- <initrd>{{ installer_tmpdir }}/initrd.gz</initrd>
- <cmdline>console=ttyS0,115200n8 auto</cmdline>
- <boot dev='hd'/>
-{% elif install_distro == 'openbsd' %}
- <boot dev='cdrom'/>
-{% endif %}
-{% else %}
- <boot dev='hd'/>
-{% endif %}
- </os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- </features>
- <clock offset='utc'/>
- <on_poweroff>destroy</on_poweroff>
-{% if vm_define_installer %}
- <on_reboot>destroy</on_reboot>
- <on_crash>destroy</on_crash>
-{% else %}
- <on_reboot>restart</on_reboot>
- <on_crash>restart</on_crash>
-{% endif %}
- <devices>
- <emulator>/usr/bin/kvm</emulator>
- <!-- Provide a virtualized RNG to the guest -->
- <rng model='virtio'>
- <!-- Allow consuming up to 10kb/s, measured over 2s -->
- <rate period="2000" bytes="20480"/>
- <backend model='random'>/dev/random</backend>
- </rng>
-
-{% if vm_define_installer and install_distro == 'openbsd' %}
- <disk type='file' device='cdrom'>
- <driver name='qemu'/>
- <source file='{{ installer_tmpdir }}/{{ inventory_hostname }}.iso'/>
- <target dev='sdz' bus='sata'/>
- <readonly/>
- </disk>
-
-{% endif %}
-{% if install.disks %}
-{% if 'scsi' in install.disks %}
- <controller type='scsi' index='0' model='virtio-scsi'/>
-{% endif %}
-{% for bus in ['virtio', 'scsi'] %}
-{% for device, src in (install.disks[bus] | default({})).items() %}
- <disk type='{{ (src.type == 'image') | ternary('file', 'block') }}' device='disk'>
- <driver name='qemu' type='raw' cache='none' discard='unmap'/>
-{% if src.type == 'lvm' %}
- <source dev='/dev/mapper/{{ src.vg | replace('-', '--') }}-{{ src.lv | replace('-', '--') }}'/>
-{% elif src.type == 'zfs' %}
- <source dev='/dev/zvol/{{ vm_host.zfs[src.backend | default('default')].pool }}/{{ vm_host.zfs[src.backend | default('default')].name }}/{{ inventory_hostname }}/{{ src.name }}'/>
-{% elif src.type == 'blockdev' %}
- <source dev='{{ src.path }}'/>
-{% elif src.type == 'image' %}
- <source file='{{ src.path }}'/>
-{% endif %}
- <target dev='{{ device }}' bus='{{ bus }}'/>
- </disk>
-{% endfor %}
-{% endfor %}
-
-{% endif %}
-{% if install.interfaces %}
-{% for if in install.interfaces %}
- <interface type='bridge'>
-{% if 'mac' in if %}
- <mac address='{{ if.mac }}'/>
-{% endif %}
- <source bridge='{{ if.bridge }}'/>
- <model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x{{ "%02x" | format(loop.index0 + 16) }}' slot='0x00' function='0x0'/>
- </interface>
-{% endfor %}
-
-{% endif %}
- <serial type='pty'>
- <target port='0'/>
- </serial>
- <console type='pty'>
- <target type='serial' port='0'/>
- </console>
- </devices>
-</domain>