bitkeeper revision 1.1040.1.1 (40eee3a1eT0YAFxR2Vicy8vFSyHwSg)

Support for Xen console ring output.
This commit is contained in:
mwilli2@equilibrium.research.intel-research.net committed 2004-07-09 18:27:45 +00:00
1 parent 1b765c26bc
commit 53e4b27700
6 files changed
+75

No files matched your search

+9
View File
@@ -79,6 +79,9 @@ def vneturl(location, root, id=''):
def eventurl(location, root, id=''):
return urljoin(location, root, 'event/', id)
def dmesgurl(location, root, id=''):
return urljoin(location, root, 'dmesg/', id)
def xend_request(url, method, data=None):
urlinfo = urlparse.urlparse(url)
(uproto, ulocation, upath, uparam, uquery, ufrag) = urlinfo
@@ -160,6 +163,9 @@ class Xend:
def eventurl(self, id=''):
return eventurl(self.location, self.root, id)
def dmesgurl(self, id=''):
return dmesgurl(self.location, self.root, id)
def xend(self):
return xend_get(urljoin(self.location, self.root))
@@ -281,6 +287,9 @@ class Xend:
def xend_event_inject(self, sxpr):
val = xend_call(self.eventurl(),
{'op': 'inject', 'event': fileof(sxpr) })
def xend_dmesg(self):
return xend_get(self.dmesgurl())
def main(argv):
+24
View File
@@ -0,0 +1,24 @@
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
"""Get dmesg output for this node. Very basic right now!
"""
import os
import xen.lowlevel.xc
class XendDmesg:
def __init__(self):
self.xc = xen.lowlevel.xc.new()
def info(self):
return [ self.xc.readconsolering() ]
def instance():
global inst
try:
inst
except:
inst = XendDmesg()
return inst
+29
View File
@@ -0,0 +1,29 @@
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
import os
from SrvDir import SrvDir
from xen.xend import sxp
from xen.xend import XendDmesg
class SrvDmesg(SrvDir):
"""Xen Dmesg output.
"""
def __init__(self):
SrvDir.__init__(self)
self.xd = XendDmesg.instance()
def render_GET(self, req):
if self.use_sxp(req):
req.setHeader("Content-Type", sxp.mime_type)
sxp.show(['dmesg'] + self.info(), out=req)
else:
req.write('<html><head></head><body>')
req.write('<pre>')
self.print_path(req)
req.write(self.info()[0])
req.write('</pre></body></html>')
return ''
def info(self):
return self.xd.info()
+1
View File
@@ -15,6 +15,7 @@ class SrvRoot(SrvDir):
subdirs = [
('node', 'SrvNode' ),
('domain', 'SrvDomainDir' ),
('dmesg', 'SrvDmesg' ),
('console', 'SrvConsoleDir' ),
('event', 'SrvEventDir' ),
('device', 'SrvDeviceDir' ),
+10
View File
@@ -444,5 +444,15 @@ class ProgConsole(Prog):
xm.prog(ProgConsole)
class ProgDmesg(Prog):
group = 'host'
name = "dmesg"
info = """Print Xen boot output."""
def main(self, args):
print server.xend_dmesg()[1]
xm.prog(ProgDmesg)
def main(args):
xm.main(args)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.