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.

Reply via email to