Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Volume name case issue #181

Open
TheLimey opened this issue Sep 25, 2018 · 0 comments
Open

Volume name case issue #181

TheLimey opened this issue Sep 25, 2018 · 0 comments

Comments

@TheLimey
Copy link

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: 4.8.2 on client, 5.5 on server
  • Ruby: 2.3.3p222 on client
  • Distribution: Proxmox 5.2 (which is Debian GNU/Linux 9 (stretch)) on client, Ubuntu 18.04 on server
  • Module version: v4.0.0

How to reproduce (e.g Puppet code you use)

Hiera:

gluster::repo: false
gluster::server: true
gluster::client: false
gluster::use_exported_resources: true

gluster::pool: 'proxmox'

gluster::volumes:
  'proxmoxVMs':
    replica: 2
    bricks:
      - 'xs1.93.lan:/data/glusterfs/proxmoxVMs/brick1/brick'
      - 'xs2.93.lan:/data/glusterfs/proxmoxVMs/brick1/brick'
    options:
      - 'nfs.disable: on'

gluster::service::service_name: glusterfs-server
gluster::service::ensure: running

What are you seeing

When running puppet agent -t after the volume is created I get the following error message:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 's
plit' parameter 'str' expects a String value, got Undef (file: /etc/puppetlabs/code/modules/gluster/manifests/volume.pp, line: 180, column: 21) (file: /etc/puppetlabs/code/modules/gluster/manifests/init.pp, line:
 83) on node xs1.93.lan

What behaviour did you expect instead

No errors. =)

Any additional information you'd like to impart

When I run facter -p on my Proxmox server I can see that it is returning the gluster volume bricks value name in all lower case, but the volume has two uppercase letters in it:

gluster_volume_proxmoxvms_bricks => ...

The line of code mentioned in the error message (line 180 in my version of volume.pp, line 160 in the current version) is using the original name:

$vol_bricks = split( getvar( "::gluster_volume_${title}_bricks" ), ',')

...appears to be failing to find the volume because it is using the actual name which has uppercase letters:

gluster_volume_proxmoxVMs_bricks

I have worked around this in my copy of the module by changing that line to this:

$title_downcase = downcase( $title )
$vol_bricks = split( getvar( "::gluster_volume_${title_downcase}_bricks" ), ',')

I would submit this code change, but I have a feeling this is not the right solution. ...I find it hard to imagine I'm the first person to have some uppercase letters in their volume name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant