salt.modules.glusterfs#
Manage a glusterfs pool
- salt.modules.glusterfs.add_volume_bricks(name, bricks)#
Add brick(s) to an existing volume
- name
Volume name
- bricks
List of bricks to add to the volume
CLI Example:
salt '*' glusterfs.add_volume_bricks <volume> <bricks>
- salt.modules.glusterfs.create_volume(name, bricks, stripe=False, replica=False, device_vg=False, transport='tcp', start=False, force=False, arbiter=False)#
Create a glusterfs volume
- name
Name of the gluster volume
- bricks
Bricks to create volume from, in <peer>:<brick path> format. For multiple bricks use list format: '["<peer1>:<brick1>", "<peer2>:<brick2>"]'
- stripe
Stripe count, the number of bricks should be a multiple of the stripe count for a distributed striped volume
- replica
Replica count, the number of bricks should be a multiple of the replica count for a distributed replicated volume
- arbiter
If true, specifies volume should use arbiter brick(s). Valid configuration limited to "replica 3 arbiter 1" per Gluster documentation. Every third brick in the brick list is used as an arbiter brick.
New in version 2019.2.0.
- device_vg
If true, specifies volume should use block backend instead of regular posix backend. Block device backend volume does not support multiple bricks
- transport
Transport protocol to use, can be 'tcp', 'rdma' or 'tcp,rdma'
- start
Start the volume after creation
- force
Force volume creation, this works even if creating in root FS
CLI Examples:
salt host1 glusterfs.create newvolume host1:/brick salt gluster1 glusterfs.create vol2 '["gluster1:/export/vol2/brick", "gluster2:/export/vol2/brick"]' replica=2 start=True
- salt.modules.glusterfs.delete_volume(target, stop=True)#
Deletes a gluster volume
- target
Volume to delete
- stopTrue
If
True, stop volume before delete
CLI Example:
salt '*' glusterfs.delete_volume <volume>
- salt.modules.glusterfs.disable_quota_volume(name)#
Disable quota on a glusterfs volume.
- name
Name of the gluster volume
CLI Example:
salt '*' glusterfs.disable_quota_volume <volume>
- salt.modules.glusterfs.enable_quota_volume(name)#
Enable quota on a glusterfs volume.
- name
Name of the gluster volume
CLI Example:
salt '*' glusterfs.enable_quota_volume <volume>
- salt.modules.glusterfs.get_max_op_version()#
New in version 2019.2.0.
Returns the glusterfs volume's max op-version value Requires Glusterfs version > 3.9
CLI Example:
salt '*' glusterfs.get_max_op_version
- salt.modules.glusterfs.get_op_version(name)#
New in version 2019.2.0.
Returns the glusterfs volume op-version
- name
Name of the glusterfs volume
CLI Example:
salt '*' glusterfs.get_op_version <volume>
- salt.modules.glusterfs.get_version()#
New in version 2019.2.0.
Returns the version of glusterfs.
CLI Example:
salt '*' glusterfs.get_version
- salt.modules.glusterfs.info(name=None)#
New in version 2015.8.4.
Return gluster volume info.
- name
Optional name to retrieve only information of one volume
CLI Example:
salt '*' glusterfs.info
- salt.modules.glusterfs.list_quota_volume(name)#
List quotas of glusterfs volume
- name
Name of the gluster volume
CLI Example:
salt '*' glusterfs.list_quota_volume <volume>
- salt.modules.glusterfs.list_volumes()#
List configured volumes
CLI Example:
salt '*' glusterfs.list_volumes
- salt.modules.glusterfs.peer(name)#
Add another node into the peer list.
- name
The remote host to probe.
CLI Example:
salt 'one.gluster.*' glusterfs.peer two
GLUSTER direct CLI example (to show what salt is sending to gluster):
$ gluster peer probe ftp2
- GLUSTER CLI 3.4.4 return example (so we know what we are parsing):
#if the "peer" is the local host: peer probe: success: on localhost not needed
#if the peer was just added: peer probe: success
#if the peer was already part of the cluster: peer probe: success: host ftp2 port 24007 already in peer list
- salt.modules.glusterfs.peer_status()#
Return peer status information
The return value is a dictionary with peer UUIDs as keys and dicts of peer information as values. Hostnames are listed in one list. GlusterFS separates one of the hostnames but the only reason for this seems to be which hostname happens to be used first in peering.
CLI Example:
salt '*' glusterfs.peer_status
GLUSTER direct CLI example (to show what salt is sending to gluster):
$ gluster peer status
GLUSTER CLI 3.4.4 return example (so we know what we are parsing):
Number of Peers: 2
Hostname: ftp2 Port: 24007 Uuid: cbcb256b-e66e-4ec7-a718-21082d396c24 State: Peer in Cluster (Connected)
Hostname: ftp3 Uuid: 5ea10457-6cb2-427b-a770-7897509625e9 State: Peer in Cluster (Connected)
- salt.modules.glusterfs.set_op_version(version)#
New in version 2019.2.0.
Set the glusterfs volume op-version
- version
Version to set the glusterfs volume op-version
CLI Example:
salt '*' glusterfs.set_op_version <volume>
- salt.modules.glusterfs.set_quota_volume(name, path, size, enable_quota=False)#
Set quota to glusterfs volume.
- name
Name of the gluster volume
- path
Folder path for restriction in volume ("/")
- size
Hard-limit size of the volume (MB/GB)
- enable_quota
Enable quota before set up restriction
CLI Example:
salt '*' glusterfs.set_quota_volume <volume> <path> <size> enable_quota=True
- salt.modules.glusterfs.start_volume(name, force=False)#
Start a gluster volume
- name
Volume name
- force
Force the volume start even if the volume is started .. versionadded:: 2015.8.4
CLI Example:
salt '*' glusterfs.start mycluster
- salt.modules.glusterfs.status(name)#
Check the status of a gluster volume.
- name
Volume name
CLI Example:
salt '*' glusterfs.status myvolume
- salt.modules.glusterfs.stop_volume(name, force=False)#
Stop a gluster volume
- name
Volume name
- force
Force stop the volume
New in version 2015.8.4.
CLI Example:
salt '*' glusterfs.stop_volume mycluster
- salt.modules.glusterfs.unset_quota_volume(name, path)#
Unset quota on glusterfs volume
- name
Name of the gluster volume
- path
Folder path for restriction in volume
CLI Example:
salt '*' glusterfs.unset_quota_volume <volume> <path>