'Finds the volume named existing and renames it.
This checks a few things. The volume has to exist.  There can
only be one volume by that name.  Since cinder manages volumes
by the GB it has to be defined on a GB boundary.
This renames existing to newname.  newname is the guid from
the cinder volume[\'id\'].  The volume is moved to the defined
cinder volume folder.
:param newname: Name to rename the volume to.
:param existing: The existing volume dict..
:return: scvolume.
:raises VolumeBackendAPIException, ManageExistingInvalidReference:'

def manage_existing(self, newname, existing):

    vollist = self._get_volume_list(existing.get('source-name'), existing.get('source-id'), False)
    count = len(vollist)
    if (count == 1):
        (sz, rem) = self.size_to_gb(vollist[0]['configuredSize'])
        if (rem > 0):
            raise exception.VolumeBackendAPIException(data=_('Volume    size    must    multiple    of    1    GB.'))
        mappings = self._find_mappings(vollist[0])
        if (len(mappings) > 0):
            msg = (_('Volume    is    attached    to    a    server.        (%s)') % existing)
            raise exception.VolumeBackendAPIException(data=msg)
        scvolume = self._import_one(vollist[0], newname)
        if scvolume:
            return scvolume
        msg = (_('Unable    to    manage    volume    %s') % existing)
        raise exception.VolumeBackendAPIException(data=msg)
    elif (count > 1):
        raise exception.ManageExistingInvalidReference(existing_ref=existing, reason=_('Volume    not    unique.'))
    else:
        raise exception.ManageExistingInvalidReference(existing_ref=existing, reason=_('Volume    not    found.'))
