From c43e87d118243d13ea0dcf94def2867d99697e57 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 24 Feb 2012 09:22:03 -0800 Subject: [PATCH] ceph_manager: list_pg_missing List missing objects for the given pgid. --- teuthology/task/ceph_manager.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/teuthology/task/ceph_manager.py b/teuthology/task/ceph_manager.py index a49ce8aae8606..cf4065d1c0ffa 100644 --- a/teuthology/task/ceph_manager.py +++ b/teuthology/task/ceph_manager.py @@ -197,6 +197,26 @@ class CephManager: "\d* pgs:", status).group(0).split()[0]) + def list_pg_missing(self, pgid): + r = None + offset = {} + while True: + out = self.raw_cluster_cmd('--', 'pg',pgid,'list_missing', + json.dumps(offset)) + j = json.loads('\n'.join(out.split('\n')[1:])) + if r is None: + r = j + else: + r['objects'].extend(j['objects']) + if not 'more' in j: + break + if j['more'] == 0: + break + offset = j['objects'][-1]['oid'] + if 'more' in r: + del r['more'] + return r + def get_pg_stats(self): out = self.raw_cluster_cmd('--', 'pg','dump','--format=json') j = json.loads('\n'.join(out.split('\n')[1:])) -- 2.39.5