# HG changeset patch
# User Tom Wilkie <tom.wilkie@xxxxxxxxx>
# Date 1174924100 -3600
# Node ID ddc2f8b061a39419a4f702bf6a6e6eec11321ad0
# Parent 5a60095a22991c2628adde9aff0beaa6ab68233d
Fix up xm vcpu-pin via XenAPI, change types of new VM Metrics feilds
signed-off-by: Tom Wilkie <tom.wilkie@xxxxxxxxx>
---
tools/python/xen/xend/XendAPI.py | 3 ++-
tools/python/xen/xend/XendVMMetrics.py | 4 ++--
tools/python/xen/xm/main.py | 11 +++++------
3 files changed, 9 insertions(+), 9 deletions(-)
diff -r 5a60095a2299 -r ddc2f8b061a3 tools/python/xen/xend/XendAPI.py
--- a/tools/python/xen/xend/XendAPI.py Mon Mar 26 16:18:16 2007 +0100
+++ b/tools/python/xen/xend/XendAPI.py Mon Mar 26 16:48:20 2007 +0100
@@ -1403,7 +1403,8 @@ class XendAPI(object):
if key.startswith("cpumap"):
vcpu = int(key[6:])
try:
- xendom.domain_pincpu(xeninfo.getDomid(), vcpu, value)
+ cpus = map(int, value.split(","))
+ xendom.domain_pincpu(xeninfo.getDomid(), vcpu, cpus)
except Exception, ex:
log.exception(ex)
diff -r 5a60095a2299 -r ddc2f8b061a3 tools/python/xen/xend/XendVMMetrics.py
--- a/tools/python/xen/xend/XendVMMetrics.py Mon Mar 26 16:18:16 2007 +0100
+++ b/tools/python/xen/xend/XendVMMetrics.py Mon Mar 26 16:48:20 2007 +0100
@@ -92,7 +92,7 @@ class XendVMMetrics:
set_flag('blocked')
set_flag('online')
set_flag('running')
- vcpus_flags[i] = ",".join(flags)
+ vcpus_flags[i] = flags
return vcpus_flags
else:
return {}
@@ -115,7 +115,7 @@ class XendVMMetrics:
addState("dying")
addState("crashed")
addState("shutdown")
- return ",".join(states)
+ return states
except Exception, err:
# ignore missing domain
log.trace("domain_getinfo(%d) failed, ignoring: %s", domid,
str(err))
diff -r 5a60095a2299 -r ddc2f8b061a3 tools/python/xen/xm/main.py
--- a/tools/python/xen/xm/main.py Mon Mar 26 16:18:16 2007 +0100
+++ b/tools/python/xen/xm/main.py Mon Mar 26 16:48:20 2007 +0100
@@ -722,7 +722,7 @@ def getDomains(domain_names, state, full
states = ('running', 'blocked', 'paused', 'shutdown',
'crashed', 'dying')
def state_on_off(state):
- if dom_metrics['state'].find(state) > -1:
+ if state in dom_metrics['state']:
return state[0]
else:
return "-"
@@ -953,12 +953,10 @@ def xm_vcpu_list(args):
['name', vm_records[vm_ref]['name_label']],
['vcpu_count', vm_records[vm_ref]['VCPUs_max']]]
-
-
for i in range(int(vm_records[vm_ref]['VCPUs_max'])):
def chk_flag(flag):
- return vm_metrics[vm_ref]['VCPUs_flags'][str(i)] \
- .find(flag) > -1 and 1 or 0
+ return flag in vm_metrics[vm_ref]['VCPUs_flags'][str(i)] \
+ and 1 or 0
vcpu_info = ['vcpu',
['number',
@@ -1261,8 +1259,9 @@ def xm_vcpu_pin(args):
cpumap = cpu_make_map(args[2])
if serverType == SERVER_XEN_API:
+ cpumap = map(str, cpumap)
server.xenapi.VM.add_to_VCPUs_params_live(
- get_single_vm(dom), "cpumap%i" % vcpu, ",".join(cpumap))
+ get_single_vm(dom), "cpumap%i" % int(vcpu), ",".join(cpumap))
else:
server.xend.domain.pincpu(dom, vcpu, cpumap)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|