From: Sage Weil Date: Fri, 3 Mar 2017 14:45:10 +0000 (-0600) Subject: qa/tasks/thrashosds: chance_thrash_cluster_full X-Git-Tag: v12.0.1~146^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a202b68d18ccf32d9ae2580fecdbbb6ebaed5d30;p=ceph.git qa/tasks/thrashosds: chance_thrash_cluster_full Induce a momentarily full cluster. Signed-off-by: Sage Weil --- diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index e3e20c822ca0..8df5920e366e 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -122,6 +122,7 @@ class Thrasher: self.optrack_toggle_delay = self.config.get('optrack_toggle_delay') self.dump_ops_enable = self.config.get('dump_ops_enable') self.noscrub_toggle_delay = self.config.get('noscrub_toggle_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 @@ -494,6 +495,16 @@ class Thrasher: 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. @@ -710,6 +721,8 @@ class Thrasher: 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: diff --git a/qa/tasks/thrashosds.py b/qa/tasks/thrashosds.py index 9f60bceddc08..876aab395ec7 100644 --- a/qa/tasks/thrashosds.py +++ b/qa/tasks/thrashosds.py @@ -120,6 +120,8 @@ def task(ctx, config): disable_objectstore_tool_tests: (false) disable ceph_objectstore_tool based tests + chance_thrash_cluster_full: .05 + example: tasks: