From: Josh Durgin Date: Sat, 6 Aug 2016 01:16:20 +0000 (-0700) Subject: ceph_manager: test offline split via ceph-objectstore-tool X-Git-Tag: v10.2.6~165^2^2~35^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a199dcd9828247be9ddc9efbc40deb3b5c926ba2;p=ceph.git ceph_manager: test offline split via ceph-objectstore-tool When killing an osd, split all pools with a low threshold. This will slow down tests, but should not impact correctness. Signed-off-by: Josh Durgin (cherry picked from commit f28f881bda0ad426bfa9c0e22cc4658b2ce2ec5d) --- diff --git a/tasks/ceph_manager.py b/tasks/ceph_manager.py index 794aef44bf68..2b88b4aa1166 100644 --- a/tasks/ceph_manager.py +++ b/tasks/ceph_manager.py @@ -286,6 +286,20 @@ class Thrasher: if imp_remote != exp_remote: imp_remote.run(args=cmd) + # apply low split settings to each pool + for pool in self.ceph_manager.list_pools(): + no_sudo_prefix = prefix[5:] + cmd = ("CEPH_ARGS='--filestore-merge-threshold 1 " + "--filestore-split-multiple 1' sudo -E " + + no_sudo_prefix + "--op apply-layout-settings --pool " + pool).format(id=osd) + proc = remote.run(args=cmd, wait=True, check_status=False, stderr=StringIO()) + output = proc.stderr.getvalue() + if 'Couldn\'t find pool' in output: + continue + if proc.exitstatus: + raise Exception("ceph-objectstore-tool apply-layout-settings" + " failed with {status}".format(status=proc.exitstatus)) + def rm_past_intervals(self, osd=None): """ :param osd: Osd to find pg to remove past intervals