]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: fix duplicate images listed on iSCSI status page 17282/head
authorJason Dillaman <dillaman@redhat.com>
Thu, 17 Aug 2017 00:43:40 +0000 (20:43 -0400)
committerJason Dillaman <dillaman@redhat.com>
Sun, 27 Aug 2017 12:41:59 +0000 (08:41 -0400)
Fixes: http://tracker.ceph.com/issues/21017
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit e16e52ee1d30a86f1e9ddbbff6add8dec6deb7c4)

src/pybind/mgr/dashboard/rbd_iscsi.py

index 9e0fda6223dd983fb36bacbafa901c70c4556acf..d0de918dab1130f11404b6dd209054dd69994b83 100644 (file)
@@ -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)],