def find_iscsi_connection_properties(self, masking):
        props = ISCSIConnectionProperties()
        unit_names = self.connection.ReferenceNames(
            masking['volumeInstance'],
            ResultClass='CIM_ProtocolControllerForUnit')
        tcp_endpoints = self.connection.EnumerateInstanceNames(
            'CIM_TCPProtocolEndpoint')

        for unit_name in unit_names:
            controller = unit_name['Antecedent']
            classname = controller['CreationClassName']
            if 'Symm_LunMaskingView' in classname:
                unit_instance = self.connection.GetInstance(unit_name,
                                                            LocalOnly=False)
                props.lun = int(unit_instance['DeviceNumber'], 16)
            elif 'Symm_MappingSCSIProtocolController' in classname:
                ctrlr = self.connection.GetInstance(controller,
                                                    LocalOnly=False)
                iqn = ctrlr['Name']
                for tcp_endpoint in tcp_endpoints:
                    if iqn == tcp_endpoint['Name']:
                        props.iqn = iqn
                        ep_instance = self.connection.GetInstance(tcp_endpoint)
                        host = ep_instance['ElementName']
                        port = str(ep_instance['PortNumber'])
                        props.target = ':'.join([host, port])
                        break

            if props.iqn is not None and props.lun is not None:
                break

        return props
Returns tuple (iqn, target, lun) for masking view created
dataset/ETHPy150Open MirantisWorkloadMobility/CloudFerry/cloudferry/lib/os/storage/plugins/iscsi/emc_vmax.py/EMCConnector.find_iscsi_connection_properties