From 95794244f567291a66bf11f64f899cb45203b4f9 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 7 Aug 2022 01:06:55 +0200 Subject: ele-winvm: add support for windowns vms --- dan/ele-winvm.yml | 6 ++++ inventory/host_vars/ele-winvm.yml | 16 +++++++++ inventory/hosts.ini | 1 + .../guest/create/templates/libvirt-domain.xml.j2 | 38 ++++++++++++++++++++-- 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 dan/ele-winvm.yml diff --git a/dan/ele-winvm.yml b/dan/ele-winvm.yml new file mode 100644 index 00000000..4d6d1c54 --- /dev/null +++ b/dan/ele-winvm.yml @@ -0,0 +1,6 @@ +--- +- name: Basic Setup + hosts: ele-winvm + gather_facts: no + roles: + - role: vm/guest/create diff --git a/inventory/host_vars/ele-winvm.yml b/inventory/host_vars/ele-winvm.yml index 16c3d125..ad9e9bec 100644 --- a/inventory/host_vars/ele-winvm.yml +++ b/inventory/host_vars/ele-winvm.yml @@ -4,6 +4,22 @@ install: memory: 16G numcpus: 8 autostart: True + # boot: + # - cdrom + # - hd + pci_passthrough: + - domain: 0 + bus: 4 + slot: 0 + function: 0 + graphics: + proto: spice + port: 5900 + address: 0.0.0.0 + model: virtio + # cdrom: + # sdy: /srv/installer/win10.iso + # sdz: /srv/installer/virtio-win-0.1.221.iso disks: primary: /dev/sda scsi: diff --git a/inventory/hosts.ini b/inventory/hosts.ini index 1865d25b..b43eb755 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -240,6 +240,7 @@ ele-gwhetzner ele-mur ele-coturn ele-jitsi +ele-winvm [elevate:children] ele-ap diff --git a/roles/vm/guest/create/templates/libvirt-domain.xml.j2 b/roles/vm/guest/create/templates/libvirt-domain.xml.j2 index a7d584dc..c4ab6a4a 100644 --- a/roles/vm/guest/create/templates/libvirt-domain.xml.j2 +++ b/roles/vm/guest/create/templates/libvirt-domain.xml.j2 @@ -21,7 +21,9 @@ {% endif %} {% else %} - +{% for device in install.vm.boot | default(['hd']) %} + +{% endfor %} {% endif %} @@ -56,7 +58,18 @@ {% endif %} -{% if install.disks %} +{% if 'cdrom' in install.vm %} +{% for device,image in install.vm.cdrom.items() %} + + + + + + +{% endfor %} + +{% endif %} +{% if 'disks' in install %} {% if 'scsi' in install.disks %} {% endif %} @@ -89,7 +102,7 @@ {% endfor %} {% endif %} -{% if install.interfaces %} +{% if 'interfaces' in install %} {% for if in install.interfaces %} {% if 'mac' in if %} @@ -101,6 +114,25 @@ {% endfor %} +{% endif %} +{% if 'pci_passthrough' in install.vm %} +{% for device in install.vm.pci_passthrough %} + + +
+ + +{% endfor %} + +{% endif %} +{% if 'graphics' in install.vm %} + + + + + {% endif %} -- cgit v1.2.3