aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorEwan Mellor <ewan@xensource.com>2007-03-14 23:16:59 +0000
committerEwan Mellor <ewan@xensource.com>2007-03-14 23:16:59 +0000
commitc57f40c62f264224610bb6287ea52036490178da (patch)
treedc36171d3c44b627d25279e81b12f19e87156397 /tools
parent618ef9cd1c2946baef6a6faf23557d24796b5f67 (diff)
downloadxen-c57f40c62f264224610bb6287ea52036490178da.tar.gz
xen-c57f40c62f264224610bb6287ea52036490178da.tar.bz2
xen-c57f40c62f264224610bb6287ea52036490178da.zip
Added the clear flag to host.dmesg, and added host.get_log. Use these to
implement xm dmesg and xm log using the Xen-API. Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com> Signed-off-by: Ewan Mellor <ewan@xensource.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/python/xen/xend/XendAPI.py15
-rw-r--r--tools/python/xen/xm/main.py26
2 files changed, 33 insertions, 8 deletions
diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py
index 62f42e8e02..7d3e29e693 100644
--- a/tools/python/xen/xend/XendAPI.py
+++ b/tools/python/xen/xend/XendAPI.py
@@ -661,7 +661,8 @@ class XendAPI(object):
('shutdown', None),
('add_to_other_config', None),
('remove_from_other_config', None),
- ('dmesg', 'String')]
+ ('dmesg', 'String'),
+ ('get_log', 'String')]
host_funcs = [('get_by_name_label', 'Set(host)')]
@@ -737,8 +738,16 @@ class XendAPI(object):
return xen_api_error(XEND_ERROR_HOST_RUNNING)
return xen_api_error(XEND_ERROR_UNSUPPORTED)
- def host_dmesg(self, session, host_ref):
- return xen_api_success(XendDmesg.instance().info())
+ def host_dmesg(self, session, host_ref, clear):
+ if clear:
+ return xen_api_success(XendDmesg.instance().clear())
+ else:
+ return xen_api_success(XendDmesg.instance().info())
+
+ def host_get_log(self, session, host_ref):
+ log_file = open(XendLogging.getLogFilename())
+ log_buffer = log_file.read()
+ return xen_api_success(log_buffer)
def host_get_record(self, session, host_ref):
node = XendNode.instance()
diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py
index 40f9059853..5b78f87530 100644
--- a/tools/python/xen/xm/main.py
+++ b/tools/python/xen/xm/main.py
@@ -1498,17 +1498,33 @@ def xm_dmesg(args):
err("No parameter required")
usage('dmesg')
- if not use_clear:
- print server.xend.node.dmesg.info()
+ if serverType == SERVER_XEN_API:
+ if not use_clear:
+ print server.xenapi.host.dmesg(
+ server.xenapi.session.get_this_host(),0)
+ else:
+ server.xenapi.host.dmesg(
+ server.xenapi.session.get_this_host(),1)
else:
- server.xend.node.dmesg.clear()
+ if not use_clear:
+ print server.xend.node.dmesg.info()
+ else:
+ server.xend.node.dmesg.clear()
def xm_log(args):
arg_check(args, "log", 0)
-
- print server.xend.node.log()
+
+ if serverType == SERVER_XEN_API:
+ print server.xenapi.host.get_log(
+ server.xenapi.session.get_this_host())
+ else:
+ print server.xend.node.log()
def xm_serve(args):
+ if serverType == SERVER_XEN_API:
+ print "Not supported with XenAPI"
+ sys.exit(-1)
+
arg_check(args, "serve", 0)
from fcntl import fcntl, F_SETFL