Make xm info more permissive

signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
This commit is contained in:
Tom Wilkie committed 2007-04-12 11:44:26 +01:00
1 parent de2c5005c6
commit 985378fb5c
1 file changed
+50 -25
+50 -25
View File
@@ -1544,34 +1544,59 @@ def xm_info(args):
host_metrics_record = server.xenapi.host_metrics.get_record(host_record["metrics"])
def getVal(keys, default=""):
data = host_record
for key in keys:
if key in data:
data = data[key]
else:
return default
return data
def getCpuMhz():
cpu_speeds = [int(host_cpu_record["speed"])
for host_cpu_record in host_cpu_records
if "speed" in host_cpu_record]
if len(cpu_speeds) > 0:
return sum(cpu_speeds) / len(cpu_speeds)
else:
return 0
getCpuMhz()
def getCpuFeatures():
if len(host_cpu_records) > 0:
return host_cpu_records[0].get("features", "")
else:
return ""
info = {
"host": host_record["name_label"],
"release": host_record["software_version"]["release"],
"version": host_record["software_version"]["version"],
"machine": host_record["software_version"]["machine"],
"nr_cpus": len(host_record["host_CPUs"]),
"nr_nodes": host_record["cpu_configuration"]["nr_nodes"],
"sockets_per_node": host_record["cpu_configuration"]["sockets_per_node"],
"cores_per_socket": host_record["cpu_configuration"]["cores_per_socket"],
"threads_per_core": host_record["cpu_configuration"]["threads_per_core"],
"cpu_mhz": sum([int(host_cpu_record["speed"]) for host_cpu_record in host_cpu_records])
/ len(host_cpu_records),
"hw_caps": host_cpu_records[0]["features"],
"host": getVal(["name_label"]),
"release": getVal(["software_version", "release"]),
"version": getVal(["software_version", "version"]),
"machine": getVal(["software_version", "machine"]),
"nr_cpus": len(getVal(["host_CPUs"], [])),
"nr_nodes": getVal(["cpu_configuration", "nr_nodes"]),
"sockets_per_node": getVal(["cpu_configuration", "sockets_per_node"]),
"cores_per_socket": getVal(["cpu_configuration", "cores_per_socket"]),
"threads_per_core": getVal(["cpu_configuration", "threads_per_core"]),
"cpu_mhz": getCpuMhz(),
"hw_caps": getCpuFeatures(),
"total_memory": int(host_metrics_record["memory_total"])/1024/1024,
"free_memory": int(host_metrics_record["memory_free"])/1024/1024,
"xen_major": host_record["software_version"]["xen_major"],
"xen_minor": host_record["software_version"]["xen_minor"],
"xen_extra": host_record["software_version"]["xen_extra"],
"xen_caps": " ".join(host_record["capabilities"]),
"xen_scheduler": host_record["sched_policy"],
"xen_pagesize": host_record["other_config"]["xen_pagesize"],
"platform_params": host_record["other_config"]["platform_params"],
"xen_changeset": host_record["software_version"]["xen_changeset"],
"cc_compiler": host_record["software_version"]["cc_compiler"],
"cc_compile_by": host_record["software_version"]["cc_compile_by"],
"cc_compile_domain": host_record["software_version"]["cc_compile_domain"],
"cc_compile_date": host_record["software_version"]["cc_compile_date"],
"xend_config_format":host_record["software_version"]["xend_config_format"]
"xen_major": getVal(["software_version", "xen_major"]),
"xen_minor": getVal(["software_version", "xen_minor"]),
"xen_extra": getVal(["software_version", "xen_extra"]),
"xen_caps": " ".join(getVal(["capabilities"], [])),
"xen_scheduler": getVal(["sched_policy"]),
"xen_pagesize": getVal(["other_config", "xen_pagesize"]),
"platform_params": getVal(["other_config", "platform_params"]),
"xen_changeset": getVal(["software_version", "xen_changeset"]),
"cc_compiler": getVal(["software_version", "cc_compiler"]),
"cc_compile_by": getVal(["software_version", "cc_compile_by"]),
"cc_compile_domain": getVal(["software_version", "cc_compile_domain"]),
"cc_compile_date": getVal(["software_version", "cc_compile_date"]),
"xend_config_format":getVal(["software_version", "xend_config_format"])
}
sorted = info.items()
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.