summaryrefslogtreecommitdiffstats
path: root/pytools
diff options
context:
space:
mode:
Diffstat (limited to 'pytools')
-rw-r--r--pytools/obmcutil17
1 files changed, 17 insertions, 0 deletions
diff --git a/pytools/obmcutil b/pytools/obmcutil
index aee294b..a18d970 100644
--- a/pytools/obmcutil
+++ b/pytools/obmcutil
@@ -6,6 +6,10 @@ import argparse
from dbus.mainloop.glib import DBusGMainLoop
import gobject
+import os
+import signal
+import time
+from subprocess import Popen
descriptors = {
'power': {
@@ -91,6 +95,9 @@ def run_set_property(dbus_bus, dbus_iface, descriptor, args):
property_listener.success = True
+ if args.wait and args.verbose:
+ pid = Popen(["/bin/journalctl", "-f", "--no-pager"]).pid
+
if args.wait:
sig_match = dbus_bus.add_signal_receiver(property_listener, "JobRemoved")
@@ -100,6 +107,11 @@ def run_set_property(dbus_bus, dbus_iface, descriptor, args):
mainloop.run()
sig_match.remove()
+ if args.wait and args.verbose:
+ # wait some time for the journal output
+ time.sleep(args.wait_tune)
+ os.kill(pid, signal.SIGTERM)
+
return property_listener.success
def run_one_command(dbus_bus, descriptor, args):
@@ -144,8 +156,13 @@ def main():
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
parser = argparse.ArgumentParser()
+ parser.add_argument('--verbose', '-v', action='store_true',
+ help="Verbose output")
parser.add_argument('--wait', '-w', action='store_true',
help='Block until the state transition succeeds or fails')
+ parser.add_argument('--wait-tune', '-t', nargs='?', default=8, type=float,
+ # help='Seconds to wait for journal output to complete after receiving DBus signal',
+ help=argparse.SUPPRESS)
parser.add_argument('recipe', choices=sorted(descriptors.keys()))
args = parser.parse_args()
OpenPOWER on IntegriCloud