'Finds the lun and wwns of the mapped volume.
:param scvolume: Storage Center volume object.
:param scserver: Storage Center server opbject.
:returns: Lun, wwns, initiator target map'

def find_wwns(self, scvolume, scserver):

    lun = None
    wwns = []
    itmap = {}
    initiators = self._find_initiators(scserver)
    mappings = self._find_mappings(scvolume)
    for mapping in mappings:
        cport = mapping.get('controllerPort')
        controllerport = self._find_controller_port(self._get_id(cport))
        if (controllerport is not None):
            wwn = controllerport.get('wwn', controllerport.get('WWN'))
            if wwn:
                serverhba = mapping.get('serverHba')
                if serverhba:
                    hbaname = serverhba.get('instanceName')
                    if (hbaname in initiators):
                        if (itmap.get(hbaname) is None):
                            itmap[hbaname] = []
                        itmap[hbaname].append(wwn)
                        wwns.append(wwn)
                        mappinglun = mapping.get('lun')
                        if (lun is None):
                            lun = mappinglun
                        elif (lun != mappinglun):
                            LOG.warning('Inconsistent    Luns.')
                    else:
                        LOG.debug('%s    not    found    in    initiator    list', hbaname)
                else:
                    LOG.warning('_find_wwn:    serverhba    is    None.')
            else:
                LOG.warning('_find_wwn:    Unable    to    find    port    wwn.')
        else:
            LOG.warning('_find_wwn:    controllerport    is    None.')
    LOG.info('_find_wwns-lun:    %(lun)s    wwns:    %(wwn)s    itmap:    %(map)s', {'lun': lun, 'wwn': wwns, 'map': itmap})
    return (lun, wwns, itmap)
