From e16e52ee1d30a86f1e9ddbbff6add8dec6deb7c4 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Wed, 16 Aug 2017 20:43:40 -0400 Subject: [PATCH] mgr/dashboard: fix duplicate images listed on iSCSI status page Fixes: http://tracker.ceph.com/issues/21017 Signed-off-by: Jason Dillaman --- src/pybind/mgr/dashboard/rbd_iscsi.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/pybind/mgr/dashboard/rbd_iscsi.py b/src/pybind/mgr/dashboard/rbd_iscsi.py index 9e0fda6223dd..d0de918dab11 100644 --- a/src/pybind/mgr/dashboard/rbd_iscsi.py +++ b/src/pybind/mgr/dashboard/rbd_iscsi.py @@ -27,22 +27,23 @@ class DaemonsAndImages(RemoteViewCache): } daemons[server['hostname']] = daemon - image = images.get(service['id']) + image_id = service['id'].split(':')[-1] + image = images.get(image_id) if image is None: image = { - 'id': service['id'], + 'id': image_id, 'pool_name': metadata['pool_name'], 'name': metadata['image_name'], 'optimized_paths': [], 'non_optimized_paths': [] } - if status.get('lock_owner', 'false') == 'true': - daemon['optimized_paths'] += 1 - image['optimized_paths'].append(server['hostname']) - else: - daemon['non_optimized_paths'] += 1 - image['non_optimized_paths'].append(server['hostname']) - images[service['id']] = image + images[image_id] = image + if status.get('lock_owner', 'false') == 'true': + daemon['optimized_paths'] += 1 + image['optimized_paths'].append(server['hostname']) + else: + daemon['non_optimized_paths'] += 1 + image['non_optimized_paths'].append(server['hostname']) return { 'daemons': [daemons[k] for k in sorted(daemons, key=daemons.get)], -- 2.47.3