From 2e5853f485eccbfaae5ad96f1e3534f46c6493ae Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Fri, 29 Jun 2012 14:36:30 -0500 Subject: [PATCH] Now using daemon-helper Signed-off-by: Mark Nelson --- teuthology/task/blktrace.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/teuthology/task/blktrace.py b/teuthology/task/blktrace.py index d7cfba2df341b..deae6c2b77764 100644 --- a/teuthology/task/blktrace.py +++ b/teuthology/task/blktrace.py @@ -13,6 +13,7 @@ from ..orchestra import run log = logging.getLogger(__name__) blktrace = '/usr/sbin/blktrace' log_dir = '/tmp/cephtest/archive/performance/blktrace' +daemon_signal = 'term' @contextlib.contextmanager def setup(ctx, config): @@ -27,6 +28,7 @@ def setup(ctx, config): @contextlib.contextmanager def execute(ctx, config): + procs = [] osds = ctx.cluster.only(teuthology.is_type('osd')) for remote, roles_for_host in osds.remotes.iteritems(): roles_to_devs = ctx.disk_config.remote_to_roles_to_dev[remote] @@ -35,11 +37,14 @@ def execute(ctx, config): if roles_to_devs.get(id_): dev = roles_to_devs[id_] log.info("running blktrace on %s: %s" % (remote.name, dev)) + proc = remote.run( args=[ 'cd', log_dir, run.Raw(';'), + '/tmp/cephtest/daemon-helper', + daemon_signal, 'sudo', blktrace, '-o', @@ -48,14 +53,16 @@ def execute(ctx, config): dev, ], wait=False, + stdin=run.PIPE, ) + procs.append(proc) try: yield finally: osds = ctx.cluster.only(teuthology.is_type('osd')) - for remote, roles_for_host in osds.remotes.iteritems(): - log.info('stopping all blktrace processes on %s' % (remote.name)) - remote.run(args=['sudo', 'pkill', '-f', 'blktrace']) + log.info('stopping blktrace processs') + for proc in procs: + proc.stdin.close() @contextlib.contextmanager def task(ctx, config): -- 2.39.5