From 3aea9117227dcd5e569103a03970ba851c906ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D1=80=D0=B5=D0=BD=D0=B1=D0=B5=D1=80=D0=B3=20?= =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA?= Date: Mon, 14 May 2018 21:54:40 +0500 Subject: [PATCH] Code simplification --- main.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index a35a2b8..f589b53 100755 --- a/main.py +++ b/main.py @@ -53,7 +53,7 @@ def get_pool_size(cluster, pool): return result['size'] -def get_pg2acting_primary(cluster, pool): +def get_osds(cluster, pool): (ret, outbuf, outs) = cluster.mgr_command( json.dumps({ "prefix": "pg ls-by-pool", @@ -67,7 +67,7 @@ def get_pg2acting_primary(cluster, pool): if ret: raise RuntimeError(outs) result = json.loads(outbuf.decode('utf-8')) - return {i['pgid']: i['acting_primary'] for i in result} + return {i['acting_primary'] for i in result} def get_osd_location(cluster, osd): @@ -185,11 +185,9 @@ def main(): if get_pool_size(cluster, pool) != 1: raise RuntimeError('Pool %r size must be 1.' % pool) - log.debug('Getting map of pg => acting_primary for pool %r.', pool) - pg2acting_primary = get_pg2acting_primary(cluster, pool) - # osds = sorted({j for i in pg2acting.values() for j in i}) # for 'acting' and size >= 1 (instead of acting_primary) - osds = sorted({i for i in pg2acting_primary.values()}) # since size is 1 - log.debug('Got info about %d PGs. Total OSDs in this pool: %d.', len(pg2acting_primary), len(osds)) + log.debug('Getting list of OSDs for pool %r.', pool) + osds = sorted(get_osds(cluster, pool)) + log.debug('Total OSDs in this pool: %d.', len(osds)) log.info('Getting OSD locations.') osd2location = {osd: get_osd_location(cluster, osd) for osd in osds}