]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Optimize portal IPs calculation
authorRicardo Marques <rimarques@suse.com>
Mon, 13 May 2019 15:05:34 +0000 (16:05 +0100)
committerTatjana Dehler <tdehler@suse.com>
Tue, 16 Jul 2019 09:03:37 +0000 (11:03 +0200)
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>
(cherry picked from commit 7107bf9196c9c0a7feafabcaaeb84b8a8cd1fd92)

src/pybind/mgr/dashboard/controllers/iscsi.py
src/pybind/mgr/dashboard/tests/test_iscsi.py

index 562a77f3d106acbc31a6058d7563743701963c84..8270efcd90e36414e9b965a083eb7af70fdf8fe3 100644 (file)
@@ -585,10 +585,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 c3c6c159c5c748b1b3564dfc4f5da5044e2c8d6c..c375f8a548839a62873749a0ea1439a358001cf8 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 delete_gateway(self, target_iqn, gateway_name):