def change_cur_cpu_number(self, number, uri="qemu:///system"):
try:
conn = libvirt.open(uri)
nodeinfo = conn.getInfo()
except Exception, e:
logger.exception(e)
return None
if conn:
conn.close()
host_maxcpus = int(nodeinfo[2])
if number > host_maxcpus or number <= 0:
logger.warning("invalid cpu number")
return None
tree = ET.fromstring(self.xml)
vcpu_ele = tree.find('vcpu')
max_vcpu = vcpu_ele.text
if max_vcpu is not None and int(max_vcpu) < number:
vcpu_ele.text = str(number)
vcpu_ele.set('current', str(number))
topo_ele = tree.find('cpu/topology')
if topo_ele:
topo_ele.set('sockets', vcpu_ele.text)
topo_ele.set('cores', '1')
topo_ele.set('threads', '1')
self.xml = ET.tostring(tree)
return self.xml
评论列表
文章目录