aboutsummaryrefslogtreecommitdiffstats
path: root/tools/python/xen/xend/server/SrvNode.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/python/xen/xend/server/SrvNode.py')
-rw-r--r--tools/python/xen/xend/server/SrvNode.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/python/xen/xend/server/SrvNode.py b/tools/python/xen/xend/server/SrvNode.py
new file mode 100644
index 0000000000..69747d80c1
--- /dev/null
+++ b/tools/python/xen/xend/server/SrvNode.py
@@ -0,0 +1,54 @@
+# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+
+import os
+from SrvDir import SrvDir
+from xen.xend import sxp
+from xen.xend import XendNode
+
+class SrvNode(SrvDir):
+ """Information about the node.
+ """
+
+ def __init__(self):
+ SrvDir.__init__(self)
+ self.xn = XendNode.instance()
+
+ def op_shutdown(self, op, req):
+ val = self.xn.shutdown()
+ return val
+
+ def op_reboot(self, op, req):
+ val = self.xn.reboot()
+ return val
+
+ def op_cpu_rrobin_slice_set(self, op, req):
+ fn = FormFn(self.xn.cpu_rrobin_slice_set,
+ [['slice', 'int']])
+ val = fn(req.args, {})
+ return val
+
+ def op_cpu_bvt_slice_set(self, op, req):
+ fn = FormFn(self.xn.cpu_bvt_slice_set,
+ [['slice', 'int']])
+ val = fn(req.args, {})
+ return val
+
+ def render_POST(self, req):
+ return self.perform(req)
+
+ def render_GET(self, req):
+ if self.use_sxp(req):
+ req.setHeader("Content-Type", sxp.mime_type)
+ sxp.show(['node'] + self.info(), out=req)
+ else:
+ req.write('<html><head></head><body>')
+ self.print_path(req)
+ req.write('<ul>')
+ for d in self.info():
+ req.write('<li> %10s: %s' % (d[0], str(d[1])))
+ req.write('</ul>')
+ req.write('</body></html>')
+ return ''
+
+ def info(self):
+ return self.xn.info()