'Manages an existing VMAX Volume (import to Cinder).
Renames the existing volume to match the expected name for the volume.
Also need to consider things like QoS, Emulation, account/tenant.
:param volume: the volume object including the volume_type_id
:param external_ref: reference to the existing volume
:returns: dict -- model_update'

def manage_existing(self, volume, external_ref):

    LOG.info('Beginning    manage    existing    volume    process')
    (array, device_id) = self.utils.get_array_and_device_id(volume, external_ref)
    volume_id = volume.id
    self._check_lun_valid_for_cinder_management(array, device_id, volume_id, external_ref)
    extra_specs = self._initial_setup(volume)
    volume_name = self.utils.get_volume_element_name(volume_id)
    LOG.debug('Rename    volume    %(vol)s    to    %(element_name)s.', {'vol': volume_id, 'element_name': volume_name})
    self.rest.rename_volume(array, device_id, volume_name)
    provider_location = {'device_id': device_id, 'array': array}
    model_update = {'provider_location': six.text_type(provider_location)}
    if self.utils.is_replication_enabled(extra_specs):
        rep_update = self._replicate_volume(volume, volume_name, provider_location, extra_specs, delete_src=False)
        model_update.update(rep_update)
    else:
        self.masking.add_volume_to_default_storage_group(array, device_id, volume_name, extra_specs)
    return model_update
