From 2daa5e96d537f67cc51d87dffd1ec09647bbcc5e Mon Sep 17 00:00:00 2001 From: Martin Janser Date: Mon, 10 Jun 2013 13:39:24 +0200 Subject: [PATCH 1/5] Add support for glusterfs service on Debian --- manifests/server.pp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manifests/server.pp b/manifests/server.pp index 1aad37e..afbff15 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -24,6 +24,10 @@ enable => true, ensure => running, hasstatus => true, + name => $::osfamily ? { + debian => 'glusterfs-server', + default => 'glusterd' + }, require => Package['glusterfs-server'], } From 680af23719b185f14c2baa59efed10c60aeb4d23 Mon Sep 17 00:00:00 2001 From: Martin Janser Date: Mon, 10 Jun 2013 14:43:35 +0200 Subject: [PATCH 2/5] Use different package for client installation on Debian systems --- manifests/client.pp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 1088e1e..5562f1c 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -4,7 +4,13 @@ # class glusterfs::client { - package { 'glusterfs-fuse': ensure => installed } + package { 'glusterfs-fuse': + ensure => installed, + name => $::osfamily ? { + debian => 'glusterfs-client', + default => 'glusterfs-fuse' + } + } } From 8e932dc6a99200ecca3c1b018332233126d5ca39 Mon Sep 17 00:00:00 2001 From: Martin Janser Date: Mon, 10 Jun 2013 14:55:32 +0200 Subject: [PATCH 3/5] Use different directories for peers and vols on Debian systems --- manifests/peer.pp | 7 ++++++- manifests/volume.pp | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/manifests/peer.pp b/manifests/peer.pp index 028cd30..6551661 100644 --- a/manifests/peer.pp +++ b/manifests/peer.pp @@ -6,8 +6,13 @@ # define glusterfs::peer () { + $peer_dir = $::osfamily ? { + debian => '/etc/glusterd/peers', + default => '/var/lib/glusterd/peers' + } + exec { "/usr/sbin/gluster peer probe ${title}": - unless => "/bin/egrep '^hostname.+=${title}$' /var/lib/glusterd/peers/*", + unless => "/bin/egrep '^hostname.+=${title}$' ${peer_dir}/*", require => Service['glusterd'], } diff --git a/manifests/volume.pp b/manifests/volume.pp index 253f4ae..0ec7ad5 100644 --- a/manifests/volume.pp +++ b/manifests/volume.pp @@ -11,9 +11,14 @@ $create_options ) { + $vols_dir = $::osfamily ? { + debian => '/etc/glusterd/vols', + default => '/var/lib/glusterd/vols' + } + exec { "gluster volume create ${title}": command => "/usr/sbin/gluster volume create ${title} ${create_options}", - creates => "/var/lib/glusterd/vols/${title}", + creates => "${vols_dir}/${title}", require => Class['glusterfs::server'], } From 23f9fd4289083e6c5f92f7e1e3b935421a101832 Mon Sep 17 00:00:00 2001 From: erik-smit Date: Tue, 3 Dec 2013 13:46:17 +0100 Subject: [PATCH 4/5] Fixes intermittent initial deployment ordering by ensuring client package is installed before trying to mount glusterfs --- manifests/client.pp | 10 ++++++---- manifests/mount.pp | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 5562f1c..e6027cf 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -4,12 +4,14 @@ # class glusterfs::client { - package { 'glusterfs-fuse': - ensure => installed, - name => $::osfamily ? { + $package = $::osfamily ? { debian => 'glusterfs-client', default => 'glusterfs-fuse' - } + } + + package { 'glusterfs-fuse': + ensure => installed, + name => $package } } diff --git a/manifests/mount.pp b/manifests/mount.pp index b64adf6..734f47a 100644 --- a/manifests/mount.pp +++ b/manifests/mount.pp @@ -20,6 +20,7 @@ fstype => 'glusterfs', options => $options, ensure => $ensure, + require => Package[$::glusterfs::client::package] } } From 5369f8bdf3281aef43cbaecd55c1ffac410fdc84 Mon Sep 17 00:00:00 2001 From: Martin Janser Date: Mon, 10 Jun 2013 15:54:29 +0200 Subject: [PATCH 5/5] Do not use double equal sign in volume test command --- manifests/volume.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/volume.pp b/manifests/volume.pp index 0ec7ad5..49c4854 100644 --- a/manifests/volume.pp +++ b/manifests/volume.pp @@ -23,7 +23,7 @@ } exec { "/usr/sbin/gluster volume start ${title}": - unless => "[ \"`gluster volume info ${title} | egrep '^Status:'`\" == 'Status: Started' ]", + unless => "[ \"`gluster volume info ${title} | egrep '^Status:'`\" = 'Status: Started' ]", path => [ '/usr/sbin', '/usr/bin', '/sbin', '/bin' ], require => Exec["gluster volume create ${title}"], }