'Determine storage back end capabilities.'

def do_setup(self, ctxt):

    try:
        self._cluster_id = self._get_gpfs_cluster_id()
    except Exception as setup_exception:
        msg = (_('Could    not    find    GPFS    cluster    id:    %s.') % setup_exception)
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    try:
        gpfs_base = self.configuration.gpfs_mount_point_base
        self._gpfs_device = self._get_filesystem_from_path(gpfs_base)
    except Exception as setup_exception:
        msg = (_('Could    not    find    GPFS    file    system    device:    %s.') % setup_exception)
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    pool = self.configuration.safe_get('gpfs_storage_pool')
    self._storage_pool = pool
    if (not self._verify_gpfs_pool(self._storage_pool)):
        msg = (_('Invalid    storage    pool    %s    specificed.') % self._storage_pool)
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    _gpfs_cluster_release_level = self._get_gpfs_cluster_release_level()
    if (_gpfs_cluster_release_level >= GPFS_ENC_MIN_RELEASE):
        self._encryption_state = self._get_gpfs_encryption_status()
    else:
        LOG.info('Downlevel    GPFS    Cluster    Detected.    GPFS    encryption-at-rest    feature    not    enabled    in    cluster    daemon    level    %(cur)s    -    must    be    at    least    at    level    %(min)s.', {'cur': _gpfs_cluster_release_level, 'min': GPFS_ENC_MIN_RELEASE})
