Description of problem: We need an interface, exposed through cli and gfapi, that allows the requestor to get information about the capabilities of a volume. What a capability is not defined here exactly, however, we mean high-level (user centric) properties (beyond the technical parameters that can be interacted with through "volume info / set"). The information given should be something like a scalar valued dictionary, self-contained and human friendly (ie. a user should be able to make sense of it without anything but basic familiarity of GlusterFS). The attainment of a capability on behalf of a volume depends on three factors: - GlusterFS version (support of a feature at source level) - GlusterFS build/deployment (support of a feature in the binary) - particularities of the volume. So for example take snapshot support: AFAIK only thin provisioned lv volumes support snapshot, therefore snapshot support is a per-volume property. Currently we have in mind as possible capabilites (shown here just to give a taste of the idea, not meaning we'd need these in this exact form - also note that of some of these refer to features that are still just RFEs): - volume snapshot - volume snapshot clone - directory snapshot - directory snapshot clone - cert based auth - cert based auth for directories - thin provisioned Upon implementing this RFE a broad scan of capability candidates should be executed.
probably a good candidate to have a discussion in gluster-devel.
Migrated to github: https://github.com/gluster/glusterfs/issues/564 Please follow the github issue for further updates on this bug.