mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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>
This commit is contained in:
1 parent
618ef9cd1c
commit
c57f40c62f
2 files changed
+33
-8
No files matched your search
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||