ceph/teuthology/task/internal.py
Tommi Virtanen 301ab56748 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.
2011-06-16 14:36:21 -07:00

26 lines
746 B
Python

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.')