[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Vifctl.py:
ChangeSet 1.1420, 2005/05/16 17:16:02+01:00, cl349@xxxxxxxxxxxxxxxxxxxx Vifctl.py: Pass script output through logger. process.py: os.system() replacement which outputs through the logger Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> util/process.py | 31 +++++++++++++++++++++++++++++++ xend/Vifctl.py | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) diff -Nru a/tools/python/xen/util/process.py b/tools/python/xen/util/process.py --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/tools/python/xen/util/process.py 2005-05-16 13:04:08 -04:00 @@ -0,0 +1,31 @@ +# Copyright (C) 2005 Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> + +# os.system() replacement which outputs through the logger + +import popen2 +import select + +from xen.xend.XendLogging import log + +def system(cmd): + # split after first space, then grab last component of path + cmdname = "[%s] " % cmd.split()[0].split('/')[-1] + # run command and grab stdin, stdout and stderr + cout, cin, cerr = popen2.popen3(cmd) + # close stdin to get command to terminate if it waits for input + cin.close() + # wait for output and process + p = select.poll() + p.register(cout) + p.register(cerr) + while True: + r = p.poll() + for (fd, event) in r: + if event == select.POLLHUP: + return + if fd == cout.fileno(): + l = cout.readline() + log.info(cmdname + l.rstrip()) + if fd == cerr.fileno(): + l = cerr.readline() + log.error(cmdname + l.rstrip()) diff -Nru a/tools/python/xen/xend/Vifctl.py b/tools/python/xen/xend/Vifctl.py --- a/tools/python/xen/xend/Vifctl.py 2005-05-16 13:04:08 -04:00 +++ b/tools/python/xen/xend/Vifctl.py 2005-05-16 13:04:08 -04:00 @@ -3,6 +3,7 @@ import os import os.path import sys +import xen.util.process from xen.xend import XendRoot xroot = XendRoot.instance() @@ -35,7 +36,7 @@ else: args.append("antispoof=no") args = ' '.join(args) - os.system(script + ' ' + args) + xen.util.process.system(script + ' ' + args) def set_vif_name(vif_old, vif_new): if vif_old == vif_new: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |