'Migrate vol if source and dest are managed by same GPFS cluster.'

def _migrate_volume(self, volume, host):

    LOG.debug('Migrate    volume    request    %(vol)s    to    %(host)s.', {'vol': volume['name'], 'host': host['host']})
    dest_path = self._can_migrate_locally(host)
    if (dest_path is None):
        LOG.debug('Cannot    migrate    volume    locally,    use    generic    migration.')
        return (False, None)
    if (dest_path == self.configuration.gpfs_mount_point_base):
        LOG.debug('Migration    target    is    same    cluster    and    path,    no    work    needed.')
        return (True, None)
    LOG.debug('Migration    target    is    same    cluster    but    different    path,    move    the    volume    file.')
    local_path = self._get_volume_path(volume)
    new_path = os.path.join(dest_path, volume['name'])
    try:
        self.gpfs_execute('mv', local_path, new_path)
        return (True, None)
    except processutils.ProcessExecutionError as exc:
        LOG.error('Driver-based    migration    of    volume    %(vol)s    failed.    Move    from    %(src)s    to    %(dst)s    failed    with    error:    %(error)s.', {'vol': volume['name'], 'src': local_path, 'dst': new_path, 'error': exc.stderr})
        return (False, None)
