From 301ab5674892a96118eae6f550192d87d246334d Mon Sep 17 00:00:00 2001 From: Tommi Virtanen Date: Thu, 16 Jun 2011 14:17:14 -0700 Subject: [PATCH] Move non-ceph logic out of the ceph task: host in use check. To avoid every config always listing basic tasks, we silently add internal.* tasks in front of the task list. --- teuthology/run.py | 2 ++ teuthology/task/ceph.py | 19 ------------------- teuthology/task/internal.py | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 teuthology/task/internal.py diff --git a/teuthology/run.py b/teuthology/run.py index dbd24cce37..a1414b27eb 100644 --- a/teuthology/run.py +++ b/teuthology/run.py @@ -92,6 +92,8 @@ def main(): ctx.summary = {} + ctx.config['tasks'].insert(0, {'internal.check_conflict': None}) + from teuthology.run_tasks import run_tasks try: run_tasks(tasks=ctx.config['tasks'], ctx=ctx) diff --git a/teuthology/task/ceph.py b/teuthology/task/ceph.py index d924b8fa0c..e5d06d2d03 100644 --- a/teuthology/task/ceph.py +++ b/teuthology/task/ceph.py @@ -3,7 +3,6 @@ from cStringIO import StringIO import contextlib import logging import os -import gevent import tarfile from teuthology import misc as teuthology @@ -612,24 +611,6 @@ def task(ctx, config): log.info('Recording coverage for this run.') flavor = 'gcov' - log.info('Checking for old test directory...') - processes = ctx.cluster.run( - args=[ - 'test', '!', '-e', '/tmp/cephtest', - ], - wait=False, - ) - failed = False - for proc in processes: - assert isinstance(proc.exitstatus, gevent.event.AsyncResult) - try: - proc.exitstatus.get() - except run.CommandFailedError: - log.error('Host %s has stale cephtest directory, check your lock and reboot to clean up.', proc.remote.shortname) - failed = True - if failed: - raise RuntimeError('Stale jobs detected, aborting.') - coverage_dir = '/tmp/cephtest/archive/coverage' log.info('Creating directories...') run.wait( diff --git a/teuthology/task/internal.py b/teuthology/task/internal.py new file mode 100644 index 0000000000..17b4e426b8 --- /dev/null +++ b/teuthology/task/internal.py @@ -0,0 +1,25 @@ +import gevent +import logging + +from orchestra import run + +log = logging.getLogger(__name__) + +def check_conflict(ctx, config): + log.info('Checking for old test directory...') + processes = ctx.cluster.run( + args=[ + 'test', '!', '-e', '/tmp/cephtest', + ], + wait=False, + ) + failed = False + for proc in processes: + assert isinstance(proc.exitstatus, gevent.event.AsyncResult) + try: + proc.exitstatus.get() + except run.CommandFailedError: + log.error('Host %s has stale cephtest directory, check your lock and reboot to clean up.', proc.remote.shortname) + failed = True + if failed: + raise RuntimeError('Stale jobs detected, aborting.') -- 2.39.5