'Get the map properties of vdisk.'

def _get_vdisk_map_properties(self, connector, lun_id, vdisk_name, vdisk_id, vdisk_params):

    LOG.debug('enter:    _get_vdisk_map_properties:    vdisk    %(vdisk_name)s.', {'vdisk_name': vdisk_name})
    IO_group = '0'
    io_group_nodes = []
    for (k, node) in self._storage_nodes.items():
        if (vdisk_params['protocol'] != node['protocol']):
            continue
        if (node['IO_group'] == IO_group):
            io_group_nodes.append(node)
    if (not io_group_nodes):
        msg = (_('_get_vdisk_map_properties:    No    node    found    in    I/O    group    %(gid)s    for    volume    %(vol)s.') % {'gid': IO_group, 'vol': vdisk_name})
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    properties = {}
    properties['target_discovered'] = False
    properties['target_lun'] = lun_id
    properties['volume_id'] = vdisk_id
    type_str = 'fibre_channel'
    conn_wwpns = self._get_conn_fc_wwpns()
    if (not conn_wwpns):
        msg = _('_get_vdisk_map_properties:    Could    not    get    FC    connection    information    for    the    host-volume    connection.    Is    the    host    configured    properly    for    FC    connections?')
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    properties['target_wwn'] = conn_wwpns
    if ('zvm_fcp' in connector):
        properties['zvm_fcp'] = connector['zvm_fcp']
    properties['initiator_target_map'] = self._build_initiator_target_map(connector['wwpns'], conn_wwpns)
    LOG.debug('leave:    _get_vdisk_map_properties:    vdisk    %(vdisk_name)s.', {'vdisk_name': vdisk_name})
    return {'driver_volume_type': type_str, 'data': properties}
