X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fqa%2Ftasks%2Fthrash_pool_snaps.py;fp=src%2Fceph%2Fqa%2Ftasks%2Fthrash_pool_snaps.py;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=c71c9ce8d2aed0a0bc0c55c43a481149b807f182;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/qa/tasks/thrash_pool_snaps.py b/src/ceph/qa/tasks/thrash_pool_snaps.py deleted file mode 100644 index c71c9ce..0000000 --- a/src/ceph/qa/tasks/thrash_pool_snaps.py +++ /dev/null @@ -1,61 +0,0 @@ -""" -Thrash -- Simulate random osd failures. -""" -import contextlib -import logging -import gevent -import time -import random - - -log = logging.getLogger(__name__) - -@contextlib.contextmanager -def task(ctx, config): - """ - "Thrash" snap creation and removal on the listed pools - - Example: - - thrash_pool_snaps: - pools: [.rgw.buckets, .rgw.buckets.index] - max_snaps: 10 - min_snaps: 5 - period: 10 - """ - stopping = False - def do_thrash(): - pools = config.get('pools', []) - max_snaps = config.get('max_snaps', 10) - min_snaps = config.get('min_snaps', 5) - period = config.get('period', 30) - snaps = [] - manager = ctx.managers['ceph'] - def remove_snap(): - assert len(snaps) > 0 - snap = random.choice(snaps) - log.info("Removing snap %s" % (snap,)) - for pool in pools: - manager.remove_pool_snap(pool, str(snap)) - snaps.remove(snap) - def add_snap(snap): - log.info("Adding snap %s" % (snap,)) - for pool in pools: - manager.add_pool_snap(pool, str(snap)) - snaps.append(snap) - index = 0 - while not stopping: - index += 1 - time.sleep(period) - if len(snaps) <= min_snaps: - add_snap(index) - elif len(snaps) >= max_snaps: - remove_snap() - else: - random.choice([lambda: add_snap(index), remove_snap])() - log.info("Stopping") - thread = gevent.spawn(do_thrash) - yield - stopping = True - thread.join() -