mirror of
https://github.com/ceph/ceph
synced 2025-02-22 18:47:18 +00:00
Refactor ceph osd daemon handling into a separate subtask.
This commit is contained in:
parent
3fc00e3764
commit
2da2d258e9
@ -423,6 +423,47 @@ def mon(ctx, config):
|
||||
run.wait(mon_daemons.itervalues())
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def osd(ctx, config):
|
||||
log.info('Starting osd daemons...')
|
||||
osd_daemons = {}
|
||||
osds = ctx.cluster.only(teuthology.is_type('osd'))
|
||||
coverage_dir = '/tmp/cephtest/archive/coverage'
|
||||
|
||||
daemon_signal = 'kill'
|
||||
if config.get('coverage'):
|
||||
log.info('Recording coverage for this run.')
|
||||
daemon_signal = 'term'
|
||||
|
||||
for remote, roles_for_host in osds.remotes.iteritems():
|
||||
for id_ in teuthology.roles_of_type(roles_for_host, 'osd'):
|
||||
proc = remote.run(
|
||||
args=[
|
||||
'/tmp/cephtest/binary/usr/local/bin/ceph-coverage',
|
||||
coverage_dir,
|
||||
'/tmp/cephtest/daemon-helper',
|
||||
daemon_signal,
|
||||
'/tmp/cephtest/binary/usr/local/bin/cosd',
|
||||
'-f',
|
||||
'-i', id_,
|
||||
'-c', '/tmp/cephtest/ceph.conf',
|
||||
],
|
||||
logger=log.getChild('osd.{id}'.format(id=id_)),
|
||||
stdin=run.PIPE,
|
||||
wait=False,
|
||||
)
|
||||
osd_daemons[id_] = proc
|
||||
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
log.info('Shutting down osd daemons...')
|
||||
for id_, proc in osd_daemons.iteritems():
|
||||
proc.stdin.close()
|
||||
|
||||
run.wait(osd_daemons.itervalues())
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def task(ctx, config):
|
||||
"""
|
||||
@ -517,31 +558,12 @@ def task(ctx, config):
|
||||
lambda: mon(ctx=ctx, config=dict(
|
||||
coverage=config.get('coverage'),
|
||||
)),
|
||||
lambda: osd(ctx=ctx, config=dict(
|
||||
coverage=config.get('coverage'),
|
||||
)),
|
||||
):
|
||||
|
||||
|
||||
osd_daemons = {}
|
||||
log.info('Starting osd daemons...')
|
||||
osds = ctx.cluster.only(teuthology.is_type('osd'))
|
||||
for remote, roles_for_host in osds.remotes.iteritems():
|
||||
for id_ in teuthology.roles_of_type(roles_for_host, 'osd'):
|
||||
proc = remote.run(
|
||||
args=[
|
||||
'/tmp/cephtest/binary/usr/local/bin/ceph-coverage',
|
||||
coverage_dir,
|
||||
'/tmp/cephtest/daemon-helper',
|
||||
daemon_signal,
|
||||
'/tmp/cephtest/binary/usr/local/bin/cosd',
|
||||
'-f',
|
||||
'-i', id_,
|
||||
'-c', '/tmp/cephtest/ceph.conf',
|
||||
],
|
||||
logger=log.getChild('osd.{id}'.format(id=id_)),
|
||||
stdin=run.PIPE,
|
||||
wait=False,
|
||||
)
|
||||
osd_daemons[id_] = proc
|
||||
|
||||
mds_daemons = {}
|
||||
log.info('Starting mds daemons...')
|
||||
mdss = ctx.cluster.only(teuthology.is_type('mds'))
|
||||
@ -578,12 +600,8 @@ def task(ctx, config):
|
||||
for id_, proc in mds_daemons.iteritems():
|
||||
proc.stdin.close()
|
||||
|
||||
log.info('Shutting down osd daemons...')
|
||||
for id_, proc in osd_daemons.iteritems():
|
||||
proc.stdin.close()
|
||||
|
||||
run.wait(mds_daemons.itervalues())
|
||||
run.wait(osd_daemons.itervalues())
|
||||
|
||||
if ctx.archive is not None:
|
||||
log.info('Compressing logs...')
|
||||
|
Loading…
Reference in New Issue
Block a user