fix(virtualization): add XML safety attributes and switch xen to virtio

This commit is contained in:
2026-02-20 20:18:49 +01:00
parent 524356cf8d
commit 9f9a4b38b8
4 changed files with 10 additions and 5 deletions

View File

@@ -23,7 +23,6 @@
loop_control:
label: "{{ item | to_json }}"
extended: true
changed_when: false
- name: Create VM disks
delegate_to: localhost
@@ -61,6 +60,7 @@
- "/tmp/cloud-network-config-{{ hostname }}.yml"
creates: "{{ virtualization_libvirt_cloudinit_path }}"
# uri defaults to qemu:///system (local libvirtd)
- name: Create VM using libvirt
delegate_to: localhost
community.libvirt.virt:

View File

@@ -10,8 +10,8 @@
loop: "{{ system_cfg.disks }}"
loop_control:
label: "{{ item | to_json }}"
changed_when: false
# community.vmware: full-featured guest management
- name: Create VM in vCenter
delegate_to: localhost
vars:
@@ -34,6 +34,7 @@
cluster: "{{ hypervisor_cfg.cluster }}"
folder: "{{ system_cfg.path if system_cfg.path | string | length > 0 else omit }}"
name: "{{ hostname }}"
# Generic guest ID — VMware auto-detects OS post-install
guest_id: otherLinux64Guest
annotation: |
{{ note if note is defined else '' }}
@@ -90,6 +91,7 @@
state: present
no_log: true
# vmware.vmware: modern collection for power operations
- name: Start VM in vCenter
when: virtualization_tpm2_enabled | bool
delegate_to: localhost

View File

@@ -1,7 +1,7 @@
<domain type='kvm'>
<name>{{ hostname }}</name>
<memory>{{ system_cfg.memory | int * 1024 }}</memory>
{% if system_cfg.balloon is defined and system_cfg.balloon | int > 0 %}<currentMemory>{{ system_cfg.balloon | int * 1024 }}</currentMemory>{% endif %}
<memory unit='KiB'>{{ system_cfg.memory | int * 1024 }}</memory>
{% if system_cfg.balloon is defined and system_cfg.balloon | int > 0 %}<currentMemory unit='KiB'>{{ system_cfg.balloon | int * 1024 }}</currentMemory>{% endif %}
<vcpu placement='static'>{{ system_cfg.cpus }}</vcpu>
<os>
<type arch='x86_64' machine="{{ virtualization_libvirt_machine_type }}">hvm</type>
@@ -33,17 +33,20 @@
<driver name="qemu" type="raw"/>
<source file="{{ boot_iso }}"/>
<target dev="sda" bus="sata"/>
<readonly/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="{{ virtualization_libvirt_cloudinit_path }}"/>
<target dev="sdb" bus="sata"/>
<readonly/>
</disk>
{% if rhel_iso is defined and rhel_iso | length > 0 %}
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="{{ rhel_iso }}"/>
<target dev="sdc" bus="sata"/>
<readonly/>
</disk>
{% endif %}
{% for iface in system_cfg.network.interfaces %}