Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a puppet (version 0.24.5) server configured with Git, running on Debian Lenny x64. This is a currently functioning environment that pushes puppet updates as needed, except for one snag.

I recently defined a custom check command that calls a python script. I put the script in /etc/puppet/files/nagios/plugins/ which is the distribution directory on the puppet box where the other (already previously pushed) scripts reside . I defined which hosts will use the new check command, etc.

When I commit the change on the puppet server, Git sees the new file and commits. On the client side I can restart the puppet client and daemon.log will show the new file is found, but it never gets pushed to any of the clients. However, Nagios does get updated and of course the checks fail because it can't find the script to run.

For the life of me I cannot figure out why this is happening. On the puppet server I have triple-checked the permissions on my new python script against the other scripts in the plugins directory and just can't figure out what I'm missing.


share|improve this question
Have you set puppet logging to debug to see if that gives you anything extra? – Scott Pack Dec 8 '10 at 21:19
please show your manifest and debug logs from the client. – eric sorenson Jan 31 '11 at 5:46

Thanks for the replies guys. Sorry, the thread got lost on me and I forgot about it.

I solved the problem -- I wasn't putting the new file in the correct manifest, so as a result it wasn't being pushed out to the server types I was expecting to receive it.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.