'Manages an existing SolidFire Volume (import to Cinder).
Renames the Volume to match the expected name for the volume.
Also need to consider things like QoS, Emulation, account/tenant.'

def manage_existing(self, volume, external_ref):

    sfid = external_ref.get('source-id', None)
    sfname = external_ref.get('name', None)
    if (sfid is None):
        raise exception.SolidFireAPIException(_("Manage    existing    volume    requires    'source-id'."))
    params = {'startVolumeID': sfid, 'limit': 1}
    vols = self._issue_api_request('ListActiveVolumes', params)['result']['volumes']
    sf_ref = vols[0]
    sfaccount = self._create_sfaccount(volume['project_id'])
    attributes = {}
    qos = self._retrieve_qos_setting(volume)
    import_time = volume['created_at'].isoformat()
    attributes = {'uuid': volume['id'], 'is_clone': 'False', 'os_imported_at': import_time, 'old_name': sfname}
    params = {'name': volume['name'], 'volumeID': sf_ref['volumeID'], 'accountID': sfaccount['accountID'], 'enable512e': self.configuration.sf_emulate_512, 'attributes': attributes, 'qos': qos}
    self._issue_api_request('ModifyVolume', params, version='5.0')
    return self._get_model_info(sfaccount, sf_ref['volumeID'])
