summaryrefslogtreecommitdiffstats
path: root/manifests/volume.pp
diff options
context:
space:
mode:
authorJames Shubin <james@shubin.ca>2013-12-23 16:47:04 -0500
committerJames Shubin <james@shubin.ca>2013-12-24 06:42:57 -0500
commit680a7878af062decc9924dd49fe295e545b527ae (patch)
tree0e87391768dcd9c58993fe806446cd7f86322b36 /manifests/volume.pp
parenta28e8e4507f70777fd896f7b66ec55eb4181da6d (diff)
downloadpuppet-gluster-680a7878af062decc9924dd49fe295e545b527ae.tar.gz
puppet-gluster-680a7878af062decc9924dd49fe295e545b527ae.tar.xz
puppet-gluster-680a7878af062decc9924dd49fe295e545b527ae.zip
Added preliminary Exec['again'] support to puppet-gluster.
* This will make magic things happen faster. * This doesn't give you an option to disable it. * This doesn't let you set the timeout. * This isn't necessarily complete. There might be more notify's needed.
Diffstat (limited to 'manifests/volume.pp')
-rw-r--r--manifests/volume.pp13
1 files changed, 12 insertions, 1 deletions
diff --git a/manifests/volume.pp b/manifests/volume.pp
index d16db55..296849d 100644
--- a/manifests/volume.pp
+++ b/manifests/volume.pp
@@ -27,6 +27,7 @@ define gluster::volume(
$start = undef # start volume ? true, false (stop it) or undef
) {
include gluster::xml
+ include gluster::again
include gluster::vardir
include gluster::volume::base
if $ping {
@@ -36,6 +37,8 @@ define gluster::volume(
#$vardir = $::gluster::vardir::module_vardir # with trailing slash
$vardir = regsubst($::gluster::vardir::module_vardir, '\/$', '')
+ $shorewall = $::gluster::server::shorewall
+
$settle_count = 3 # three is a reasonable default!
$maxlength = 3
if $maxlength < $settle_count {
@@ -221,6 +224,10 @@ define gluster::volume(
group => root,
mode => 755,
ensure => present,
+ # this notify is the first to kick off the 2nd step! it
+ # was put here after a process of elimination, and this
+ # location makes a lot of sense: on change exec[again]!
+ notify => Common::Again::Delta['gluster-exec-again'],
require => File["${vardir}/volume/"],
}
@@ -259,6 +266,10 @@ define gluster::volume(
logoutput => on_failure,
onlyif => "/usr/sbin/gluster volume list | /bin/grep -qxF '${name}' -",
unless => "/usr/sbin/gluster volume status ${name}", # returns false if stopped
+ notify => $shorewall ? {
+ false => undef,
+ default => Common::Again::Delta['gluster-exec-again'],
+ },
require => $settled ? { # require if type exists
false => undef,
default => Exec["gluster-volume-create-${name}"],
@@ -286,7 +297,6 @@ define gluster::volume(
}
}
- $shorewall = $::gluster::server::shorewall
if $shorewall {
$zone = $::gluster::server::zone # firewall zone
@@ -367,6 +377,7 @@ define gluster::volume(
# difference to record, or the sequence hasn't settled
# we also check that we have our minimum settle count!
onlyif => "/usr/bin/test ! -e '${watchfile}' || ${diff} || /usr/bin/test '1' != '${one}' || /usr/bin/test ${watch_trim_size} -lt ${settle_count}",
+ notify => Common::Again::Delta['gluster-exec-again'],
require => [
File["${vardir}/volume/fsm/${name}/"],
# easy way to ensure the transition types don't need to