]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Optimize portal IPs calculation 28084/head
authorRicardo Marques <rimarques@suse.com>
Mon, 13 May 2019 15:05:34 +0000 (16:05 +0100)
committerRicardo Marques <rimarques@suse.com>
Fri, 24 May 2019 13:23:58 +0000 (14:23 +0100)
Now that portal IPs are part of the ceph-iscsi config
we don't have to calculate this information, we just
use the `portal_ip_addresses` field.

Fixes: https://tracker.ceph.com/issues/39580
Signed-off-by: Ricardo Marques <rimarques@suse.com>
src/pybind/mgr/dashboard/controllers/iscsi.py
src/pybind/mgr/dashboard/tests/test_iscsi.py

index da25f4c70a6d9717b304306cf982666c15e49e08..7d304deb8e9b6ed81c8d094a4778e36faf557090 100644 (file)
@@ -570,10 +570,8 @@ class IscsiTarget(RESTController):
     def _config_to_target(target_iqn, config):
         target_config = config['targets'][target_iqn]
         portals = []
-        for host in target_config['portals'].keys():
-            ips = IscsiClient.instance(gateway_name=host).get_ip_addresses()['data']
-            portal_ips = [ip for ip in ips if ip in target_config['ip_list']]
-            for portal_ip in portal_ips:
+        for host, portal_config in target_config['portals'].items():
+            for portal_ip in portal_config['portal_ip_addresses']:
                 portal = {
                     'host': host,
                     'ip': portal_ip
index 949bf629b50bf9d6144ff89dc3508f0a366251f7..4493e8f9f44aaace7c48f551ce5a60749a0cb473 100644 (file)
@@ -475,7 +475,7 @@ class IscsiClientMock(object):
             "gateways": {},
             "targets": {},
             "updated": "",
-            "version": 5
+            "version": 9
         }
 
     @classmethod
@@ -550,7 +550,7 @@ class IscsiClientMock(object):
             target_config['ip_list'] = []
         target_config['ip_list'] += ip_address
         target_config['portals'][gateway_name] = {
-            "portal_ip_address": ip_address[0]
+            "portal_ip_addresses": ip_address
         }
 
     def create_disk(self, pool, image, backstore):