From: Jason Dillaman Date: Thu, 17 Aug 2017 00:43:40 +0000 (-0400) Subject: mgr/dashboard: fix duplicate images listed on iSCSI status page X-Git-Tag: v13.0.1~1170^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e16e52ee1d30a86f1e9ddbbff6add8dec6deb7c4;p=ceph.git mgr/dashboard: fix duplicate images listed on iSCSI status page Fixes: http://tracker.ceph.com/issues/21017 Signed-off-by: Jason Dillaman --- 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)],