On Wed, Jul 18, 2012 at 3:08 PM, Adam <[email protected]> wrote:
> Hello fellow puppet masters,
>
> We currently use winbind to allow our admins to log onto our Linux servers
> with their Windows AD accounts.  Every now and then, a comms issue will drop
> AD out from under the server, which causes winbind to stop checking AD.  The
> service is still technically running though, so puppet thinks everything is
> fine.  I can run a "getent passwd <username>" to verify that winbind is or
> isn't working.
>
> So I wanted to utilize that check and have my winbind service entry to
> subscribe to this exec:
>
> service{ 'winbind':
> enable       => true,
> ensure       => running,
> subcribe     => Exec['check-winbind'];
> }
>
> exec{ 'check-winbind':
> path         => ['/usr/bin','/sbin','/bin'],
> command => ['getent passwd user | grep -c user'],
> }
>
> So when the command failed, that would trigger puppet to restart the
> service.  But when the check would return 0 (because it couldn't find user
> in AD), puppet gives me the following:
>
> Service[winbind]: Dependency Exec[check-winbind] has failures: true
> Service[winbind]: Skipping because of failed dependencies
>
> Not what I wanted to see... though I do understand why it is saying it (just
> not how to change it).  So what I ended up doing was turning the command
> into an "unless" statement, and set the "command" to be "service winbind
> restart", and remove the subscribe statement form my winbind service entry.
> Now, this works... but it just seems silly to me to have to restart the
> service via an exec statement when I am already monitoring the winbind
> service.
>
> Any ideas on how to simplify this and get it back to my original goal of
> subscribing the service to this check?  Thanks!

You could make use of the service type's 'status' parameter.  Your
example would then read:

service{ 'winbind':
 enable       => true,
 ensure       => running,
 status => '/usr/bin/getent passwd user | /bin/grep -c user'
}

I suspect this overrides the usual puppet behaviour of using 'service
winbind status' to perform the status check, but that may not be an
issue in your case.

Regards,

Matt.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to