Browse Source

add support for cpuset

Related PROD-23040 (PROD:23040)

Change-Id: I6cf2cb5ff66dcffb1532343a58416fb242703322
pull/75/head
Pavel Cizinsky 6 years ago
parent
commit
f03c4e8227
4 changed files with 12 additions and 0 deletions
  1. +1
    -0
      README.rst
  2. +7
    -0
      _modules/virtng.py
  3. +3
    -0
      salt/control/virt.sls
  4. +1
    -0
      tests/pillar/control_virt_custom.sls

+ 1
- 0
README.rst View File

@@ -504,6 +504,7 @@ Control VM provisioning:
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

+ 7
- 0
_modules/virtng.py View File

@@ -534,6 +534,7 @@ def init(name,
loader=None,
machine=None,
cpu_mode=None,
cpuset=None,
**kwargs):
'''
Initialize a new vm
@@ -702,6 +703,12 @@ def init(name,
xml_doc.getElementsByTagName("domain")[0].getElementsByTagName("devices")[0].appendChild(iso_xml)
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)

+ 3
- 0
salt/control/virt.sls View File

@@ -67,6 +67,9 @@ salt_control_virt_{{ cluster_name }}_{{ node_name }}:
{%- 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 %}

+ 1
- 0
tests/pillar/control_virt_custom.sls View File

@@ -98,6 +98,7 @@ salt:
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

Loading…
Cancel
Save