bitkeeper revision 1.959.1.4 (40d04a87acOb29u-5Y5OxMhHvP2x9g)
authormjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>
Wed, 16 Jun 2004 13:26:31 +0000 (13:26 +0000)
committermjw@wray-m-3.hpl.hp.com <mjw@wray-m-3.hpl.hp.com>
Wed, 16 Jun 2004 13:26:31 +0000 (13:26 +0000)
Add node physical info.

tools/xenmgr/lib/XendNode.py
tools/xenmgr/lib/server/SrvNode.py

index 9be3d642bce63fb2fb8d004548fdb15baf7ee1d0..d293da8e7702980292900cd5e77888e91b27441b 100644 (file)
@@ -7,15 +7,9 @@
 
 """
 
+import os
 import Xc
 
-class XendNodeInfo:
-    """Node information record.
-    """
-
-    def __init__(self):
-        pass
-
 class XendNode:
 
     def __init__(self):
@@ -45,6 +39,28 @@ class XendNode:
         #ret = self.xc.rrobin_global_set(slice)
         return ret
 
+    def info(self):
+        return self.nodeinfo() + self.physinfo()
+
+    def nodeinfo(self):
+        (sys, host, rel, ver, mch) = os.uname()
+        return [['system',  sys],
+                ['host',    host],
+                ['release', rel],
+                ['version', ver],
+                ['machine', mch]]
+
+    def physinfo(self):
+        pinfo = self.xc.physinfo()
+        info = [['cores', pinfo['cores']],
+                ['hyperthreads_per_core', pinfo['ht_per_core']],
+                ['cpu_mhz', pinfo['cpu_khz']/1000],
+                ['memory', pinfo['total_pages']/256],
+                ['free_memory', pinfo['free_pages']/256]]
+        return info
+        
+        
+
 def instance():
     global inst
     try:
index 3c6168e337f56c8707df2744859b4418286140d2..d4411d5e5d59ec8a03a484d7c62de9c9a97c0360 100644 (file)
@@ -45,15 +45,10 @@ class SrvNode(SrvDir):
             self.print_path(req)
             req.write('<ul>')
             for d in self.info():
-                req.write('<li> %10s: %s' % (d[0], d[1]))
+                req.write('<li> %10s: %s' % (d[0], str(d[1])))
             req.write('</ul>')
             req.write('</body></html>')
         return ''
             
     def info(self):
-        (sys, host, rel, ver, mch) = os.uname()
-        return [['system',  sys],
-                ['host',    host],
-                ['release', rel],
-                ['version', ver],
-                ['machine', mch]]
+        return self.xn.info()