'Migrate directly if source and dest are managed by same storage.
:param volume: A dictionary describing the volume to migrate
:param host: A dictionary describing the host to migrate to, where
host[\'host\'] is its name, and host[\'capabilities\'] is a
dictionary of its reported capabilities.
:returns: (False, None) if the driver does not support migration,
(True, model_update) if successful'

def migrate_volume(self, volume, host):

    dbg = {'id': volume['id'], 'host': host['host'], 'status': volume['status']}
    LOG.debug('enter:    migrate_volume:    id=%(id)s,    host=%(host)s,    status=%(status)s.', dbg)
    ret = (False, None)
    if (volume['status'] in ['available', 'in-use']):
        volume_type = None
        if volume['volume_type_id']:
            volume_type = self._get_volume_type(volume['volume_type_id'])
        try:
            ret = self.retype(volume, volume_type, None, host)
        except Exception as e:
            LOG.info('3PAR    driver    cannot    perform    migration.    Retype    exception:    %s', e)
    LOG.debug('leave:    migrate_volume:    id=%(id)s,    host=%(host)s,    status=%(status)s.', dbg)
    dbg_ret = {'supported': ret[0], 'model_update': ret[1]}
    LOG.debug('migrate_volume    result:    %(supported)s,    %(model_update)s', dbg_ret)
    return ret
