From 92b6547cb90c7a6d8f97b42a51f8cf55505b0d39 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Jan 2020 10:34:42 +0530 Subject: [PATCH 1/3] Added support for multi vlan with multi ips --- hpedockerplugin/hpe/hpe_3par_iscsi.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/hpedockerplugin/hpe/hpe_3par_iscsi.py b/hpedockerplugin/hpe/hpe_3par_iscsi.py index 18b399bf..66103791 100644 --- a/hpedockerplugin/hpe/hpe_3par_iscsi.py +++ b/hpedockerplugin/hpe/hpe_3par_iscsi.py @@ -135,10 +135,25 @@ def initialize_iscsi_ports(self, common): # when found, add the valid iSCSI ip, ip port, iqn and nsp # to the iSCSI IP dictionary iscsi_ports = common.get_active_iscsi_target_ports() + LOG.info('iscsi_ports received from client is %s ' % iscsi_ports) for port in iscsi_ports: ip = port['IPAddr'] - if ip in temp_iscsi_ip: + len_iSCSIVlans = len(port['iSCSIVlans']) + if len_iSCSIVlans > 0: + iSCSIVlans = port['iSCSIVlans'] + tmpip = [] + for val in iSCSIVlans: + tmpip.append(val['IPAddr']) + LOG.info('single port more ips, ips are : %s '% tmpip) + for ipaddr in tmpip: + if ipaddr in temp_iscsi_ip: + ipPort = temp_iscsi_ip[ipaddr]['ip_port'] + self.iscsi_ips[ipaddr] = {'ip_port': ipPort, + 'nsp': port['nsp'], + 'iqn': port['iSCSIName']} + del temp_iscsi_ip[ipaddr] + elif ip in temp_iscsi_ip: ip_port = temp_iscsi_ip[ip]['ip_port'] self.iscsi_ips[ip] = {'ip_port': ip_port, 'nsp': port['nsp'], @@ -246,6 +261,16 @@ def initialize_connection(self, volume, connector, is_snap): lun_id = None for port in ready_ports: iscsi_ip = port['IPAddr'] + len_iSCSIVlans = len(port['iSCSIVlans']) + tmpip = [] + if len_iSCSIVlans > 0: + iSCSIVlans = port['iSCSIVlans'] + for val in iSCSIVlans: + tmpip.append(val['IPAddr']) + if len(tmpip) > 0: + for targ_ip in tmpip: + if targ_ip in target_portal_ips: + iscsi_ip = targ_ip if iscsi_ip in target_portal_ips: vlun = None # check for an already existing VLUN matching the From 77f9f14c4260d57205e594c5cd7f46b4d6955ece Mon Sep 17 00:00:00 2001 From: nilangekarss Date: Thu, 16 Jan 2020 10:54:11 +0530 Subject: [PATCH 2/3] Changed log line --- hpedockerplugin/hpe/hpe_3par_iscsi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hpedockerplugin/hpe/hpe_3par_iscsi.py b/hpedockerplugin/hpe/hpe_3par_iscsi.py index 66103791..4c732b03 100644 --- a/hpedockerplugin/hpe/hpe_3par_iscsi.py +++ b/hpedockerplugin/hpe/hpe_3par_iscsi.py @@ -135,7 +135,7 @@ def initialize_iscsi_ports(self, common): # when found, add the valid iSCSI ip, ip port, iqn and nsp # to the iSCSI IP dictionary iscsi_ports = common.get_active_iscsi_target_ports() - LOG.info('iscsi_ports received from client is %s ' % iscsi_ports) + LOG.info('iscsi_ports received from client are %s ' % iscsi_ports) for port in iscsi_ports: ip = port['IPAddr'] From aeceaf57cf04f7c5061cfcd913007641b653dcce Mon Sep 17 00:00:00 2001 From: nilangekarss Date: Tue, 21 Jan 2020 09:28:07 +0530 Subject: [PATCH 3/3] Fixed Pep8 erors --- hpedockerplugin/hpe/hpe_3par_iscsi.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hpedockerplugin/hpe/hpe_3par_iscsi.py b/hpedockerplugin/hpe/hpe_3par_iscsi.py index 4c732b03..f459e1ed 100644 --- a/hpedockerplugin/hpe/hpe_3par_iscsi.py +++ b/hpedockerplugin/hpe/hpe_3par_iscsi.py @@ -145,13 +145,13 @@ def initialize_iscsi_ports(self, common): tmpip = [] for val in iSCSIVlans: tmpip.append(val['IPAddr']) - LOG.info('single port more ips, ips are : %s '% tmpip) + LOG.info('single port more ips, ips are : %s ' % tmpip) for ipaddr in tmpip: if ipaddr in temp_iscsi_ip: ipPort = temp_iscsi_ip[ipaddr]['ip_port'] self.iscsi_ips[ipaddr] = {'ip_port': ipPort, - 'nsp': port['nsp'], - 'iqn': port['iSCSIName']} + 'nsp': port['nsp'], + 'iqn': port['iSCSIName']} del temp_iscsi_ip[ipaddr] elif ip in temp_iscsi_ip: ip_port = temp_iscsi_ip[ip]['ip_port']