From 7af6e46c947060b3401073c9ad9ea1f62d72286c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 21 Feb 2012 16:10:37 -0800 Subject: [PATCH] ceph: always try to process valgrind logs Check for errors in valgrind logs even if there is no valgrind option the ceph task config stanza. Other tasks can run via valgrind (ceph-fuse, rgw). If the logs aren't there, this is harmless. --- teuthology/task/ceph.py | 43 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/teuthology/task/ceph.py b/teuthology/task/ceph.py index a04c22e3e1..eb316a3b24 100644 --- a/teuthology/task/ceph.py +++ b/teuthology/task/ceph.py @@ -274,29 +274,30 @@ def valgrind_post(ctx, config): try: yield finally: - if config.get('valgrind'): - lookup_procs = list() - val_path = '/tmp/cephtest/archive/log/{val_dir}/*'.format( - val_dir=config.get('valgrind').get('logs', "valgrind")) - for remote in ctx.cluster.remotes.iterkeys(): - #look at valgrind logs for each node - proc = remote.run( - args=[ - 'grep', "", run.Raw(val_path), run.Raw('|'), - 'egrep', '-v', '-q', '(PossiblyLost|DefinitelyLost)'], - wait = False, - check_status=False - ) - lookup_procs.append((proc, remote)) + vconfig = config.get('valgrind', {}) + lookup_procs = list() + val_path = '/tmp/cephtest/archive/log/{val_dir}/*'.format( + val_dir=vconfig.get('logs', "valgrind")) + log.info('Checking for errors in any valgrind logs...'); + for remote in ctx.cluster.remotes.iterkeys(): + #look at valgrind logs for each node + proc = remote.run( + args=[ + 'grep', "", run.Raw(val_path), run.Raw('|'), + 'egrep', '-v', '-q', '(PossiblyLost|DefinitelyLost)'], + wait = False, + check_status=False + ) + lookup_procs.append((proc, remote)) - valgrind_exception = None - for (proc, remote) in lookup_procs: - result = proc.exitstatus.get() - if result != 1: - valgrind_exception = Exception("saw valgrind issues in {node}".format(node=remote.name)) + valgrind_exception = None + for (proc, remote) in lookup_procs: + result = proc.exitstatus.get() + if result != 1: + valgrind_exception = Exception("saw valgrind issues in {node}".format(node=remote.name)) - if valgrind_exception is not None: - raise valgrind_exception + if valgrind_exception is not None: + raise valgrind_exception @contextlib.contextmanager -- 2.39.5