diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/python/xen/xend/XendNode.py | 28 | ||||
-rw-r--r-- | tools/python/xen/xend/osdep.py | 28 |
2 files changed, 30 insertions, 26 deletions
diff --git a/tools/python/xen/xend/XendNode.py b/tools/python/xen/xend/XendNode.py index 756c3b27f2..a4d2e197ea 100644 --- a/tools/python/xen/xend/XendNode.py +++ b/tools/python/xen/xend/XendNode.py @@ -23,6 +23,7 @@ import xen.lowlevel.xc from xen.util import Brctl from xen.util import pci as PciUtil from xen.xend import XendAPIStore +from xen.xend import osdep import uuid, arch from XendPBD import XendPBD @@ -91,7 +92,7 @@ class XendNode: for cpu_uuid, cpu in saved_cpus.items(): self.cpus[cpu_uuid] = cpu - cpuinfo = parse_proc_cpuinfo() + cpuinfo = osdep.get_cpuinfo() physinfo = self.physinfo_dict() cpu_count = physinfo['nr_cpus'] cpu_features = physinfo['hw_caps'] @@ -743,31 +744,6 @@ class XendNode: def info_dict(self): return dict(self.info()) -def parse_proc_cpuinfo(): - cpuinfo = {} - f = file('/proc/cpuinfo', 'r') - try: - p = -1 - d = {} - for line in f: - keyvalue = line.split(':') - if len(keyvalue) != 2: - continue - key = keyvalue[0].strip() - val = keyvalue[1].strip() - if key == 'processor': - if p != -1: - cpuinfo[p] = d - p = int(val) - d = {} - else: - d[key] = val - cpuinfo[p] = d - return cpuinfo - finally: - f.close() - - def instance(): global inst try: diff --git a/tools/python/xen/xend/osdep.py b/tools/python/xen/xend/osdep.py index b2d310064d..bbb79f6714 100644 --- a/tools/python/xen/xend/osdep.py +++ b/tools/python/xen/xend/osdep.py @@ -87,6 +87,33 @@ _balloon_stat = { "SunOS": _solaris_balloon_stat } +def _linux_get_cpuinfo(): + cpuinfo = {} + f = file('/proc/cpuinfo', 'r') + try: + p = -1 + d = {} + for line in f: + keyvalue = line.split(':') + if len(keyvalue) != 2: + continue + key = keyvalue[0].strip() + val = keyvalue[1].strip() + if key == 'processor': + if p != -1: + cpuinfo[p] = d + p = int(val) + d = {} + else: + d[key] = val + cpuinfo[p] = d + return cpuinfo + finally: + f.close() + +_get_cpuinfo = { +} + def _get(var, default=None): return var.get(os.uname()[0], default) @@ -95,3 +122,4 @@ xend_autorestart = _get(_xend_autorestart) pygrub_path = _get(_pygrub_path, "/usr/bin/pygrub") vif_script = _get(_vif_script, "vif-bridge") lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat) +get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo) |