I have a Chicken and Egg scenario here and trying to come up with a way to solve it.
I have a mount definition that manages mount points. The problem arises when the mount point changes after it is in use. Case in point, we have mount points for the mysql data and logs directories. If we change the configuration of the mount (i.e. options) then Puppet will unmount and remount the directory automatically. MySQL will not be to happy with that. So, what I want to do is to optionally pass the service name to the define and to shut it down, but ONLY if the mount command detects a change and mysql is running. The problem I have is that if the mount command notifies shutdown, then the shutdown happens to late and I only what to shutdown if mount detects a change. It would be great if there was a "pre-notify" option to force an exec to run beforehand. I tried putting a Notify and Require from the mount to the stop service exec but that causes a circular reference and just the require in the mount does not trigger the stop service exec because of the refreshonly=>true which is necessary so that it doesn't always run. Any thoughts? Thanks, John Here's what I have: exec { "stop service for remount $name": onlyif => ["test -f /etc/init.d/$service", "service $service status"], command => "service $service stop", refreshonly => true, notify => Exec["restart service for remount $name"], } # Mount the file system mount { $name: name => $mount_point, ensure => mounted, options => $options, atboot => $atboot, fstype => $fstype, device => $device, dump => 0, pass => 0, require => Exec["stop service for remount $name"], # notify => Exec["stop service for remount $name"], } exec { "restart service for remount $name": command => "service $service start", refreshonly => true, require => Mount[$name], } -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.