You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This module has been moved to the [Vox Pupuli](https://github.com/voxpupuli/) organization. Please update all bookmarks and Puppetfile references.
13
+
14
+
## Table of Contents
9
15
10
16
1.[Overview](#overview)
11
17
2.[Custom Facts](#custom-facts)
@@ -15,15 +21,13 @@ Table of Contents
15
21
6.[Contributing](#contributing)
16
22
7.[Copyright](#copyright)
17
23
18
-
Overview
19
-
--------
24
+
## Overview
20
25
21
26
This module installs and configures servers to participate in a [Gluster](http://www.gluster.org/) Trusted Storage Pool, create or modify one or more Gluster volumes, and mount Gluster volumes.
22
27
23
28
Also provided with this module are a number of custom Gluster-related facts.
24
29
25
-
Custom Facts
26
-
------------
30
+
## Custom Facts
27
31
28
32
*`gluster_binary`: the full pathname of the Gluster CLI command
29
33
*`gluster_peer_count`: the number of peers to which this server is connected in the pool.
@@ -35,30 +39,32 @@ Custom Facts
35
39
36
40
The `gluster_binary` fact will look for an [external fact](http://docs.puppetlabs.com/guides/custom_facts.html#external-facts) named `gluster_custom_binary`. If this fact is defined, `gluster_binary` will use that value. Otherwise the path will be searched until the gluster command is found.
37
41
38
-
Classes
39
-
-------
42
+
## Classes
40
43
41
-
### params.pp ###
44
+
### params.pp
42
45
This class establishes a number of default values used by the other classes.
43
46
44
47
You should not need to include or reference this class directly.
45
48
46
-
### repo.pp ###
49
+
### repo.pp
47
50
This class enables the GlusterFS repository. Either [Gluster.org](http://download.gluster.org/pub/) for APT or [CentOS](https://wiki.centos.org/SpecialInterestGroup/Storage) managed YUM for EL.
48
51
49
52
Fedora users can get GlusterFS packages directly from Fedora's repository. Red Hat users with a Gluster Storage subscription should set the appropriate subscription/repo for their OS. Therefore for both Fedora and Red Hat Gluster Storage users, the default upstream community repo should be off:
53
+
50
54
```puppet
51
55
gluster::repo => false
52
56
```
53
57
54
58
For systems using APT, the latest packages of the latest release will be installed by default. Otherwise, specify a version:
59
+
55
60
```puppet
56
61
class { ::gluster::repo:
57
62
version => '3.5.2',
58
63
}
59
64
```
60
65
61
66
For systems using YUM, the latest package from the 3.8 release branch will be installed. You can specify a specific version and release:
67
+
62
68
```puppet
63
69
class { ::gluster::repo:
64
70
release => '3.7',
@@ -76,7 +82,7 @@ Apt: If a `priority` parameter is passed to this class, it will be passed as is
76
82
77
83
This is [useful](http://blog.gluster.org/2014/11/installing-glusterfs-3-4-x-3-5-x-or-3-6-0-on-rhel-or-centos-6-6-2/) in the event that you want to install a version from the upstream repos that is older than that provided by your distribution's repositories.
78
84
79
-
### install.pp ###
85
+
### install.pp
80
86
This class handles the installation of the Gluster packages (both server and client).
81
87
82
88
If the upstream Gluster repo is enabled (default), this class will install packages from there. Otherwise it will attempt to use native OS packages.
@@ -91,10 +97,10 @@ Currently, RHEL 6, RHEL 7, Debian 8, Raspbian and Ubuntu provide native Gluster
91
97
}
92
98
93
99
Note that on Red Hat (and derivative) systems, the `version` parameter should match the version number used by yum for the RPM package.
94
-
Beware that Red Hat provides its own build of the GlusterFS FUSE client on RHEL but its minor version doesn't match the upstream. Therefore if you run a community GlusterFS server, you should try to match the version on your RHEL clients by running the community FUSE client.
100
+
Beware that Red Hat provides its own build of the GlusterFS FUSE client on RHEL but its minor version doesn't match the upstream. Therefore if you run a community GlusterFS server, you should try to match the version on your RHEL clients by running the community FUSE client.
95
101
On Debian-based systems, only the first two version places are significant ("x.y"). The latest minor version from that release will be installed unless the "priority" parameter is used.
96
102
97
-
### client.pp ###
103
+
### client.pp
98
104
This class installs **only** the Gluster client package(s). If you need to install both the server and client, please use the `install.pp` (or `init.pp`) classes.
99
105
100
106
class { ::gluster::client:
@@ -104,14 +110,14 @@ This class installs **only** the Gluster client package(s). If you need to insta
104
110
105
111
Use of `gluster::client` is not supported with either `gluster::install` or `gluster::init`.
106
112
107
-
### service.pp ###
113
+
### service.pp
108
114
This class manages the `glusterd` service.
109
115
110
116
class { ::gluster::service:
111
117
ensure => running,
112
118
}
113
119
114
-
### init.pp ###
120
+
### init.pp
115
121
This class implements a basic Gluster server.
116
122
117
123
In the default configuration, this class exports a `gluster::peer` defined type for itself, and then collects any other exported `gluster::peer` resources for the same pool for instantiation.
@@ -140,10 +146,9 @@ If a `volumes` parameter is passed, the defined Gluster volume(s) can be created
140
146
}
141
147
}
142
148
143
-
Resources
144
-
-------------
149
+
## Resources
145
150
146
-
### gluster::peer ###
151
+
### gluster::peer
147
152
This defined type creates a Gluster peering relationship. The name of the resource should be the fully-qualified domain name of a peer to which to connect. An optional `pool` parameter permits you to configure different storage pools built from different hosts.
148
153
149
154
With the exported resource implementation in `init.pp`, the first server to be defined in the pool will find no peers, and therefore not do anything. The second server to execute this module will collect the first server's exported resource and initiate the `gluster peer probe`, thus creating the storage pool.
@@ -156,7 +161,7 @@ See [this mailing list post](http://supercolony.gluster.org/pipermail/gluster-us
156
161
pool => 'production',
157
162
}
158
163
159
-
### gluster::volume ###
164
+
### gluster::volume
160
165
This defined type creates a Gluster volume. You can specify a stripe count, a replica count, the transport type, a list of bricks to use, and an optional set of volume options to enforce.
161
166
162
167
Note that creating brick filesystems is up to you. May I recommend the [Puppet Labs LVM module](https://forge.puppetlabs.com/puppetlabs/lvm) ?
@@ -183,7 +188,7 @@ Note that adding or removing options does not (currently) restart the volume.
183
188
],
184
189
}
185
190
186
-
### gluster::volume::option ###
191
+
### gluster::volume::option
187
192
This defined type applies [Gluster options](https://github.com/gluster/glusterfs/blob/master/doc/admin-guide/en-US/markdown/admin_managing_volumes.md#tuning-options) to a volume.
188
193
189
194
In order to ensure uniqueness across multiple volumes, the title of each `gluster::volume::option` must include the name of the volume to which it applies. The format for these titles is `volume:option_name`:
@@ -198,7 +203,7 @@ To remove an option, set the `ensure` parameter to `absent`:
198
203
ensure => absent,
199
204
}
200
205
201
-
### gluster::mount ###
206
+
### gluster::mount
202
207
This defined type mounts a Gluster volume. Most of the parameters to this defined type match either the gluster FUSE options or the [Puppet mount](http://docs.puppetlabs.com/references/3.4.stable/type.html#mount) options.
203
208
204
209
gluster::mount { '/gluster/data1':
@@ -210,16 +215,14 @@ This defined type mounts a Gluster volume. Most of the parameters to this defin
210
215
pass => 0,
211
216
}
212
217
213
-
Examples
214
-
--------
218
+
## Examples
219
+
215
220
Please see the examples directory.
216
221
217
-
Contributing
218
-
------------
222
+
## Contributing
219
223
220
224
Pull requests are warmly welcomed!
221
225
222
-
Copyright
223
-
---------
226
+
## Copyright
224
227
225
228
Copyright 2014 [CoverMyMeds](https://www.covermymeds.com/) and released under the terms of the [MIT License](http://opensource.org/licenses/MIT).
0 commit comments