]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common: adapt to the new pg dump format.
authorhuanwen ren <ren.huanwen@zte.com.cn>
Mon, 10 Sep 2018 11:29:20 +0000 (19:29 +0800)
committerhuanwen ren <ren.huanwen@zte.com.cn>
Thu, 27 Sep 2018 15:22:50 +0000 (23:22 +0800)
Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
qa/workunits/rados/test_large_omap_detection.py
src/ceph.in

index 6a9e3f93857ae89aa4974d13c7c12a749bf9a61e..7b09dfd9071878d1aff259d20824a53a9a411b43 100755 (executable)
@@ -73,7 +73,11 @@ def get_deep_scrub_timestamp(pgid):
     cmd = ['ceph', 'pg', 'dump', '--format=json-pretty']
     proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
     out = proc.communicate()[0]
-    for stat in json.loads(out)['pg_stats']:
+    try:
+        pgstats = json.loads(out)['pg_map']['pg_stats']
+    except KeyError:
+        pgstats = json.loads(out)['pg_stats']
+    for stat in pgstats:
         if stat['pgid'] == pgid:
             return stat['last_deep_scrub_stamp']
 
index ac610d14c3c7cb76c3b9bcd7f6ce4131c137e07d..23070e703bd5a81e764b8f059abf3ef871fa838e 100755 (executable)
@@ -836,7 +836,11 @@ def get_scrub_timestamps(childargs):
     devnull = open(os.devnull, 'w')
     out = subprocess.check_output(['ceph', 'pg', 'dump', '--format=json-pretty'],
                                   stderr=devnull)
-    for stat in json.loads(out)['pg_stats']:
+    try:
+        pgstats = json.loads(out)['pg_map']['pg_stats']
+    except KeyError:
+        pgstats = json.loads(out)['pg_stats']
+    for stat in pgstats:
         if scruball or stat['up_primary'] == int(childargs[2]):
             scrub_tuple = (stat['up_primary'], stat[last_scrub_stamp])
             results[stat['pgid']] = scrub_tuple