mirror of
https://github.com/ceph/ceph
synced 2025-02-20 17:37:29 +00:00
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.
This commit is contained in:
parent
e2ea73d1a5
commit
7af6e46c94
@ -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', "<kind>", 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', "<kind>", 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
|
||||
|
Loading…
Reference in New Issue
Block a user