diff options
author | Ewan Mellor <ewan@xensource.com> | 2007-03-14 23:16:59 +0000 |
---|---|---|
committer | Ewan Mellor <ewan@xensource.com> | 2007-03-14 23:16:59 +0000 |
commit | c57f40c62f264224610bb6287ea52036490178da (patch) | |
tree | dc36171d3c44b627d25279e81b12f19e87156397 /tools | |
parent | 618ef9cd1c2946baef6a6faf23557d24796b5f67 (diff) | |
download | xen-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.py | 15 | ||||
-rw-r--r-- | tools/python/xen/xm/main.py | 26 |
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 |