add support for cpuset
Related PROD-23040 (PROD:23040)
Change-Id: I6cf2cb5ff66dcffb1532343a58416fb242703322
diff --git a/README.rst b/README.rst
index e305eae..2a87010 100644
--- a/README.rst
+++ b/README.rst
@@ -504,6 +504,7 @@
path: /usr/share/AAVMF/AAVMF_CODE.fd
machine: virt-2.11 # Custom per-node virt machine type
cpu_mode: host-passthrough
+ cpuset: '1-4'
mac:
nic01: AC:DE:48:AA:AA:AA
nic02: AC:DE:48:AA:AA:BB
diff --git a/_modules/virtng.py b/_modules/virtng.py
index b405d59..426d611 100644
--- a/_modules/virtng.py
+++ b/_modules/virtng.py
@@ -534,6 +534,7 @@
loader=None,
machine=None,
cpu_mode=None,
+ cpuset=None,
**kwargs):
'''
Initialize a new vm
@@ -703,6 +704,12 @@
xml = xml_doc.toxml()
# TODO: Remove this code and refactor module, when salt-common would have updated libvirt_domain.jinja template
+ if cpuset:
+ xml_doc = minidom.parseString(xml)
+ xml_doc.getElementsByTagName("vcpu")[0].setAttribute('cpuset', cpuset)
+ xml = xml_doc.toxml()
+
+ # TODO: Remove this code and refactor module, when salt-common would have updated libvirt_domain.jinja template
if cpu_mode:
xml_doc = minidom.parseString(xml)
cpu_xml = xml_doc.createElement("cpu")
diff --git a/salt/control/virt.sls b/salt/control/virt.sls
index 731efeb..91d7277 100644
--- a/salt/control/virt.sls
+++ b/salt/control/virt.sls
@@ -67,6 +67,9 @@
{%- if node.machine is defined %}
- machine: {{ node.machine }}
{%- endif %}
+ {%- if node.cpuset is defined %}
+ - cpuset: {{ node.cpuset }}
+ {%- endif %}
{%- if node.cpu_mode is defined %}
- cpu_mode: {{ node.cpu_mode }}
{%- endif %}
diff --git a/tests/pillar/control_virt_custom.sls b/tests/pillar/control_virt_custom.sls
index 833b5a2..265d484 100644
--- a/tests/pillar/control_virt_custom.sls
+++ b/tests/pillar/control_virt_custom.sls
@@ -98,6 +98,7 @@
img_dest: /var/lib/libvirt/ssdimages
machine: virt-2.11
cpu_mode: host-passthrough
+ cpuset: '1-2'
ubuntu2:
provider: node02.domain.com
image: bubuntu.qcomw