'Get volume stats. This is more of getting group stats.'

def get_volume_stats(self, refresh=False):

    if refresh:
        group_info = self.APIExecutor.get_group_info()
        if ('usage_valid' not in group_info):
            raise NimbleDriverException(_('SpaceInfo    returned    byarray    is    invalid'))
        total_capacity = (group_info['usable_capacity_bytes'] / float(units.Gi))
        used_space = (((group_info['compressed_vol_usage_bytes'] + group_info['compressed_snap_usage_bytes']) + group_info['unused_reserve_bytes']) / float(units.Gi))
        free_space = (total_capacity - used_space)
        LOG.debug('total_capacity=%(capacity)f    used_space=%(used)f    free_space=%(free)f', {'capacity': total_capacity, 'used': used_space, 'free': free_space})
        backend_name = (self.configuration.safe_get('volume_backend_name') or self.__class__.__name__)
        self.group_stats = {'volume_backend_name': backend_name, 'vendor_name': 'Nimble', 'driver_version': DRIVER_VERSION, 'storage_protocol': self._storage_protocol}
        single_pool = dict(pool_name=backend_name, total_capacity_gb=total_capacity, free_capacity_gb=free_space, reserved_percentage=0, QoS_support=False)
        self.group_stats['pools'] = [single_pool]
    return self.group_stats
