mirror of
https://github.com/ceph/ceph
synced 2025-04-01 00:26:47 +00:00
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.
This commit is contained in:
parent
629ad4477d
commit
301ab56748
@ -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)
|
||||
|
@ -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(
|
||||
|
25
teuthology/task/internal.py
Normal file
25
teuthology/task/internal.py
Normal file
@ -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.')
|
Loading…
Reference in New Issue
Block a user