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

Metadata Valid
No translation
Correct Puppet Version Range
Supported Puppet version range is %{PUPPET_VERSION_RANGE}
With Puppet Version Range
Puppet version range is present in requirements in metadata.json
With Operatingsystem Support
No translation
Supports Only Current Debian
No translation
Supports Latest Debian
No translation
In Modulesync Repo
No translation
In Plumbing
Is in plumbing
Has Secrets
Has a .sync.yml file
Synced
Has a .msync.yml file
Latest Modulesync
No translation
Has Modulesync
Is present in voxpupuli/modulesync_config/managed_modules.yml
Released
Is in modulesync_config and in forge releases.
Reference Dot Md
The repository has a REFERENCE.md. It needs to be generated / puppet-strings documentation is missing.

Open Pull Requests

Fix unnecessarily setting gluster volume option repeatedly
bug
needs-tests
tests-fail
wip
merge-conflicts

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

Parse XML output of gluster for retrieving facts
needs-rebase
merge-conflicts

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

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

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.

Sort bricks before comparison
bug
tests-fail

Resolves upstream issue #147

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

-->

Comparing expected volume bricks against actual should not depend on order
bug

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 !

pass 'release' attribute to sub classes
needs-tests
merge-conflicts

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

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
-->

Fix package names for rhel8.
merge-conflicts

SImple PR to make module work on rhel8 et al.

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

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

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.

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

Use $fact to retrieve fact

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

-->

Pull Request (PR) description

It will use the Puppet variable $fact to retrieve a fact name. Before this change, it used getvar() and in Puppet 6 the build-in getvar() is used which don't support a dash - in it's variable name. We had the challenge with migration to Puppet 6 this code failed because we have a volume with the name test-vol1 (with a dash). With this change the Puppet code will build a catalog on Puppet 6. A fact may actually contain a dash and getvar() shouldn't be used for getting a fact variable.

This Pull Request (PR) fixes the following issues

Fixes #214

feat: add capability to create disperse volumes

Pull Request (PR) description

Add ability to create disperse volumes.