diff --git a/roles/libvirt_manager/templates/domain.xml.j2 b/roles/libvirt_manager/templates/domain.xml.j2 index d52bfb4f9e..de2c215778 100644 --- a/roles/libvirt_manager/templates/domain.xml.j2 +++ b/roles/libvirt_manager/templates/domain.xml.j2 @@ -16,7 +16,20 @@ - + +{% if vm_data.numa is defined and vm_data.numa|int > 1 %} + + {% set cores_per_node = (vm_data.cpus|int // vm_data.numa|int) %} + {% set mem_per_node = (vm_data.memory|int // vm_data.numa|int) %} + {% set cpu_ns = namespace(cpu_start=0) %} + {% for i in range(vm_data.numa|int) %} + {% set cpu_end = cpu_ns.cpu_start + cores_per_node - 1 %} + + {% set cpu_ns.cpu_start = cpu_end + 1 %} + {% endfor %} + +{% endif %} +