GitHub puppet-gluster
Create and manage Gluster pools, volumes, and mounts

Repo Checks ( 14 of 24 successfull )
Metadata Valid
No translation
passed
Correct Puppet Version Range
Supported Puppet version range is %{PUPPET_SUPPORT_RANGE}
passed
With Puppet Version Range
Puppet version range is present in requirements in metadata.json
passed
With Operatingsystem Support
No translation
passed
Operatingsystems
No translation
passed
Supports Only Current Centos
No translation
passed
Supports Latest Centos
No translation
failed
Supports Only Current Redhat
No translation
passed
Supports Latest Redhat
No translation
failed
Supports Only Current Debian
No translation
failed
Supports Latest Debian
No translation
failed
Supports Only Current Archlinux
No translation
failed
Supports Latest Archlinux
No translation
failed
Supports Only Current Sles
No translation
passed
Supports Latest Sles
No translation
failed
Supports Only Current Ubuntu
No translation
passed
Supports Latest Ubuntu
No translation
failed
In Modulesync Repo
Is listed as a module managed using modulesync_config
passed
Synced
Has a .msync.yml file
passed
Latest Modulesync
Has been synchronized with the latest tagged version of modulesync_config
failed
Has Modulesync
Is present in voxpupuli/modulesync_config/managed_modules.yml
passed
Released
Is in modulesync_config and in forge releases.
passed
Valid Sync File
If a (optional) sync file is present, it must not contain a `.travis.yml` entry.
passed
Reference Dot Md
The repository has a REFERENCE.md. It needs to be generated / puppet-strings documentation is missing.
failed

Open Pull Requests

feat: add capability to create disperse volumes
needs-tests

Pull Request (PR) description

Add ability to create disperse volumes.

Open PR in GitHub
Including other names in the preer probe fact
merge-conflicts
needs-rebase
tests-fail

When having multiple interfaces on a gluster cluster.
It is now possible to probe each interface and facter will return the
other names as well.
Otherwise fater will probe each run

Fixes #124

Open PR in GitHub
Update Gluster version to 7.9
merge-conflicts
backwards-incompatible
needs-squash

Update default version from 7.3 to 7.9 the last in the 7.x line.

Updated documents to match default version.

Open PR in GitHub
gluster volume option may be both String or Integer
merge-conflicts
tests-fail

Pull Request (PR) description

This issue occurs during a creation of new gluster volume. You can try to create gluster volume with these options:


::gluster::volume { $name:
[ ...other options ommitted...]
options => [
"network.ping-timeout: 5",
"storage.owner-uid: 0",
"storage.owner-gid: 0",
],
}

It throws error that Gluster::Volume::Option expects String or Undef as a value:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Gluster::Volume::Option[data:network.ping-timeout]: parameter 'value' expects a value of type Undef or String, got Integer (file: /etc/puppetlabs/code/environments/production/modules/upstream/gluster/manifests/volume.pp, line: 266) on node gluster01.example.com

Open PR in GitHub
Add support for Debian 10 and 11
enhancement
Better volume options handling

Pull Request (PR) description

Fixes volume remove_options option as currently it will create duplicated resources (code wants to remove and add one at the same time) and converts internal options handling to use hash instead arrays/yamls.

Currently code is based on #219 to not make rebases specially for indentation.

This Pull Request (PR) fixes the following issues

n/a

Open PR in GitHub
Parse XML output of gluster for retrieving facts
merge-conflicts
needs-rebase

This PR provides 2 minor fixes. The first will fix #33 by parsing the xml output of the gluster command. The second one uses ; instead of , as separator for the options in the gluster_volume_#{vol}_options fact as the comma is already used by some gluster options (e.g. auth.ssl-allow) as separator. Having such an option in use every puppet run will fail with the following error:

Evaluation Error: Error while evaluating a Function Call, (<unknown>): could not found expected ':' while scanning a simple key at line 13 column 46 at .../gluster/manifests/volume.pp:272:21

Open PR in GitHub
fix puppet-lint warnings / switch to facts hash / drop legacy gluster versions 4.0 and older
backwards-incompatible
merge-conflicts

<!--
Thank you for contributing to this project!

-->

Pull Request (PR) description

<!--
Replace this comment with a description of your pull request.
-->

This Pull Request (PR) fixes the following issues

<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->

Open PR in GitHub
Fix unnecessarily setting gluster volume option repeatedly
bug
merge-conflicts
needs-tests
tests-fail

Checks Gluster volume options against existing values to avoid repeatedly
setting values.

Also adds these types:
+ Gluster::VolumeName
+ Gluster::VolumeOption

And these functions:
+ gluster::cmd_volume_get_option
+ gluster::onoff

Open PR in GitHub
Refactor volume options fact as array
merge-conflicts
tests-fail

<!--
Thank you for contributing to this project!

  • This project has a Contributor Code of Conduct: https://voxpupuli.org/coc/
  • Please check that here is no existing issue or PR that addresses your problem.

-->

Pull Request (PR) description

Volume options are stored as comma separated string, the only use from
the gluster module is in volume.pp, there it is converted back to an
array using split(). Some gluster volume options are using commas for
splitting values (e.g. auth.allow), this conflicts with this behaviour.

This change is BREAKING as it will change the output of the glustervolume#{vol}_options fact from a comma separated string to an actual array data type.

As the fact could be used by user implementations it should be marked in the release notes as ACTION REQUIRED.

This Pull Request (PR) fixes the following issues

Fixes #53
Fixes #165

The above issues are addressing this problem and should be solved by #186. We were waiting for #186 to make progress and therefore created this minor change for ourselves.
It seems #186 is a bigger effort to achieve and also has a big impact as it will introduce major changes to the API of the module. Maybe it would be helpful to fix #53 with minor impact and then go on with the bigger effort in #186.

Open PR in GitHub
Use structured-facts for array values instead of joining them by ,
merge-conflicts
needs-rebase
needs-work

This PR converts all custom facts that contain array values from string to structured-facts.
Btw. this PR will conflict with #118 as both are touching line 31 of lib/facts/gluster.rb. This PR just touches this line as the peer_list fact is already joined within the "calculation" code and not like for the others in the Facter.add section. If #118 will be merged first I'll rebase the PR and fix the merge conflict.

Open PR in GitHub
pass 'release' attribute to sub classes
merge-conflicts
needs-tests

prior to this this commit 'release' atribute from 'main' class wasn't passed to sub-classes
construct '! defined Class' provides random results, parser dependable and shouldn't be used

Open PR in GitHub
Sort bricks before comparison
bug
merge-conflicts
tests-fail

Resolves upstream issue #147

<!--
Thank you for contributing to this project!

-->

Open PR in GitHub
Comparing expected volume bricks against actual should not depend on order
bug
merge-conflicts

Hello,

When creating a volume, existing volume bricks are checked against actual ones.
Problem happens when volume as found from facter is not in the same order as those defined in puppet. Final result is a notice stating that "Notice: unable to resolve brick changes for Gluster volume owncloud!".

This simple PR just changes brick comparison so that it no longer relies on brick order.

Cheers !

Open PR in GitHub
support RedHat-based distro 8 & 9

<!--
Thank you for contributing to this project!

-->

Pull Request (PR) description

<!--
Replace this comment with a description of your pull request.
-->

This Pull Request (PR) fixes the following issues

<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->

Open PR in GitHub
modulesync 6.0.0
modulesync

modulesync 5.1.0

Open PR in GitHub
Fix comparison when ordering in facts and settings is different
bug

<!--
Thank you for contributing to this project!

-->

Pull Request (PR) description

If the sequence in facts and settings is different exampe:
[ 'gst02:/opt/share', 'gst03:/opt/share', 'gst01:/opt/share'] != [ 'gst01:/opt/share', 'gst02:/opt/share', 'gst03:/opt/share']
but in fact they are equal

This Pull Request (PR) fixes the following issues

<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->

Open PR in GitHub
If the peer name in the facts is not the same as in the configuration

Pull Request (PR) description

If the peer name in the facts is not the same as in the configuration: #gluster peer status --xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <cliOutput>
.........
<peerStatus>
<peer>
.........
<hostname>192.168.0.10</hostname>
<hostnames>
<hostname>192.68.0.10</hostname>
<hostname>gst03</hostname>
</hostnames>
..........
</peer>
<peer>
.........
<hostname>gst02</hostname>
<hostnames>
<hostname>gst02</hostname>
</hostnames>
.........
</peer>
</peerStatus>
</cliOutput>

Then the gluster_peer_list fact will contain the following line: 192.168.0.10,gst02
and due to the fact that the configuration says gst03 and not IP, the following will always be executed: Notice: /Stage[main]/myclass /Gluster::Peer[gst03]/Exec[gluster peer probe gst03]/returns: executed successfully (corrective)
My edit takes all names from peers /cliOutput/peerStatus/peer/hostnames/hostname the fact string will be:
192.168.0.10,gst03,gst02
and then in line 52 of the manifests/peer.pp file it will find the value. After this, the command gluster peer probe gst03 will not be executed every time

This Pull Request (PR) fixes the following issues

<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->

Open PR in GitHub