From d74eefd9eb1ba5d1fe4132a79f86723ce3b0ba5b Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Fri, 16 Aug 2013 11:24:55 -0500 Subject: [PATCH] Use the json format for raw_cluster_status(). --- teuthology/task/ceph_manager.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/teuthology/task/ceph_manager.py b/teuthology/task/ceph_manager.py index e36e0e2667..09a61e7319 100644 --- a/teuthology/task/ceph_manager.py +++ b/teuthology/task/ceph_manager.py @@ -516,7 +516,8 @@ class CephManager: ['config', 'set', str(k), str(v)]) def raw_cluster_status(self): - return self.raw_cluster_cmd('-s') + status = self.raw_cluster_cmd('status', '--format=json-pretty') + return json.loads(status) def raw_osd_status(self): return self.raw_cluster_cmd('osd', 'dump') @@ -548,9 +549,7 @@ class CephManager: def get_num_pgs(self): status = self.raw_cluster_status() self.log(status) - return int(re.search( - "\d* pgs:", - status).group(0).split()[0]) + return status['pgmap']['num_pgs'] def create_pool(self, pool_name, pg_num=1): with self.lock: @@ -722,13 +721,7 @@ class CephManager: def get_num_unfound_objects(self): status = self.raw_cluster_status() self.log(status) - match = re.search( - "\d+/\d+ unfound", - status) - if match == None: - return 0 - else: - return int(match.group(0).split('/')[0]) + return status['pgmap'].get('unfound_objects', 0) def get_num_creating(self): pgs = self.get_pg_stats() -- 2.39.5