Libvirt python 添加 vCPU 和内存
Libvirt python add vCPU and memory
我正在使用 Libvirt 的 python 绑定。如何使用 libvirt 在 Xen 中为域添加或删除 VCPU 和内存?
在我使用的命令行中:
Vcpu:
xm vcpu-set [domain-id] [count in #cores]
内存:
Memory: xm mem-set [domain-id] [count in MB]
如何使用 libvirt 绑定 运行 python 中的这些命令?不使用子流程。
from xen.util.xmlrpcclient import ServerProxy
server = ServerProxy(serverURI)
def xm_vcpu_pin(args):
def cpu_make_map(cpulist):
cpus = []
for c in cpulist.split(','):
if c == '':
continue
if c.find('-') != -1:
(x, y) = c.split('-')
for i in range(int(x), int(y) + 1):
cpus.append(int(i))
else:
# remove this element from the list
if c[0] == '^':
cpus = [x for x in cpus if x != int(c[1:])]
else:
cpus.append(int(c))
cpus.sort()
return ",".join(map(str, cpus))
dom = args[0]
vcpu = args[1]
cpumap = cpu_make_map(args[2])
server.xend.domain.pincpu(dom, vcpu, cpumap)
的完整示例
我正在使用 Libvirt 的 python 绑定。如何使用 libvirt 在 Xen 中为域添加或删除 VCPU 和内存?
在我使用的命令行中:
Vcpu:
xm vcpu-set [domain-id] [count in #cores]
内存:
Memory: xm mem-set [domain-id] [count in MB]
如何使用 libvirt 绑定 运行 python 中的这些命令?不使用子流程。
from xen.util.xmlrpcclient import ServerProxy
server = ServerProxy(serverURI)
def xm_vcpu_pin(args):
def cpu_make_map(cpulist):
cpus = []
for c in cpulist.split(','):
if c == '':
continue
if c.find('-') != -1:
(x, y) = c.split('-')
for i in range(int(x), int(y) + 1):
cpus.append(int(i))
else:
# remove this element from the list
if c[0] == '^':
cpus = [x for x in cpus if x != int(c[1:])]
else:
cpus.append(int(c))
cpus.sort()
return ",".join(map(str, cpus))
dom = args[0]
vcpu = args[1]
cpumap = cpu_make_map(args[2])
server.xend.domain.pincpu(dom, vcpu, cpumap)
的完整示例