Skip to content

Commit

Permalink
qa/tasks/thrashosds: chance_thrash_cluster_full
Browse files Browse the repository at this point in the history
Induce a momentarily full cluster.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit a202b68)

Conflicts:
	qa/tasks/ceph_manager.py (trivial)
	qa/tasks/thrashosds.py (trivial)
  • Loading branch information
liewegas authored and dzafman committed Sep 21, 2017
1 parent c1946e3 commit 46f81ef
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
13 changes: 13 additions & 0 deletions qa/tasks/ceph_manager.py
Expand Up @@ -114,6 +114,7 @@ def __init__(self, manager, config, logger=None):
self.minin = self.config.get("min_in", 3)
self.chance_move_pg = self.config.get('chance_move_pg', 1.0)
self.sighup_delay = self.config.get('sighup_delay')
self.chance_thrash_cluster_full = self.config.get('chance_thrash_cluster_full', .05)

num_osds = self.in_osds + self.out_osds
self.max_pgs = self.config.get("max_pgs_per_pool_osd", 1200) * num_osds
Expand Down Expand Up @@ -456,6 +457,16 @@ def primary_affinity(self, osd=None):
self.ceph_manager.raw_cluster_cmd('osd', 'primary-affinity',
str(osd), str(pa))

def thrash_cluster_full(self):
"""
Set and unset cluster full condition
"""
self.log('Setting full ratio to .001')
self.ceph_manager.raw_cluster_cmd('pg', 'set_full_ratio', '.001')
time.sleep(1)
self.log('Setting full ratio back to .95')
self.ceph_manager.raw_cluster_cmd('pg', 'set_full_ratio', '.95')

def all_up(self):
"""
Make sure all osds are up and not out.
Expand Down Expand Up @@ -659,6 +670,8 @@ def choose_action(self):
chance_test_min_size,))
actions.append((self.test_backfill_full,
chance_test_backfill_full,))
if self.chance_thrash_cluster_full > 0:
actions.append((self.thrash_cluster_full, self.chance_thrash_cluster_full,))
for key in ['heartbeat_inject_failure', 'filestore_inject_stall']:
for scenario in [
(lambda:
Expand Down
2 changes: 2 additions & 0 deletions qa/tasks/thrashosds.py
Expand Up @@ -102,6 +102,8 @@ def task(ctx, config):
ceph_objectstore_tool: (true) whether to export/import a pg while an osd is down
chance_move_pg: (1.0) chance of moving a pg if more than 1 osd is down (default 100%)
chance_thrash_cluster_full: .05
example:
tasks:
Expand Down

0 comments on commit 46f81ef

Please sign in to comment.