tasks:
- rbd-mirror:
client: cluster1.client.mirror.0
+ thrash: True
- rbd-mirror:
client: cluster1.client.mirror.1
+ thrash: True
- rbd-mirror:
client: cluster1.client.mirror.2
+ thrash: True
- rbd-mirror:
client: cluster1.client.mirror.3
+ thrash: True
- rbd-mirror:
client: cluster2.client.mirror.0
+ thrash: True
- rbd-mirror:
client: cluster2.client.mirror.1
+ thrash: True
- rbd-mirror:
client: cluster2.client.mirror.2
+ thrash: True
- rbd-mirror:
client: cluster2.client.mirror.3
+ thrash: True
- rbd-mirror-thrash:
cluster: cluster1
- rbd-mirror-thrash:
client: role - ceph client to connect as
valgrind: [--tool=<valgrind tool>] - none by default
coverage: bool - whether this run may be collecting coverage data
+ thrash: bool - whether this run may be thrashed
"""
def __init__(self, ctx, config):
super(RBDMirror, self).__init__(ctx, config)
super(RBDMirror, self).begin()
testdir = misc.get_testdir(self.ctx)
daemon_signal = 'kill'
- if 'coverage' in self.config or 'valgrind' in self.config:
+ if 'coverage' in self.config or 'valgrind' in self.config or \
+ self.config.get('thrash', False):
daemon_signal = 'term'
args = [
self.log('waiting for {delay} secs before reviving daemons'.format(delay=delay))
sleep(delay)
+ for daemon in killed_daemons:
+ self.log('waiting for {label}'.format(label=daemon.id_))
+ daemon.stop()
for daemon in killed_daemons:
self.log('reviving {label}'.format(label=daemon.id_))
daemon.start()