In my set-up, I've got a cron job that triggers a Puppet run every 20
minutes. I've found that on approximately 13 nodes (out of 166),
puppetd just hangs. I have to go in, kill the process, remove
/var/lib/puppet/state/puppetdlock, and run puppet again and then it's
fine.
After a while, it just hangs again so I have to go in, kill the process, etc.
Any ideas?
Thanks!
Gonzalo
Gonzalo
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
If you are like me, the problem is that the ruby for your platform sucks. The webstack ruby 1.8.7 for Solaris 10 has a nasty tendency to hang (for the daemons) and core dump for individual runs. Individual runs out of a crontab are the most reliable way I've found to make it all work.
RedHat released some update kernels that reintroduced a bug from the
2.6.13 Linux kernel. You can run any of the code in this gist to
check if your kernel suffers that: https://gist.github.com/441278
The C code is obviously a pretty good choice, as it excludes Ruby
entirely from the problem space, and will confirm if that is your root
cause.
(The bug is that select on a file in /proc hangs for a long time,
possibly forever, and Ruby will use select on a file if there are
enough handles open. This happens in some daemon configurations.)
>
> - Gonzalo
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
--
Daniel Pittman
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons
Damn. Well, at least we eliminated one possible cause. Is there any
chance you can run with `--debug` enabled on one of the failed
machines, and see if that points to the right place? Otherwise we
have to start to get into some fairly heavy ways to figure out what is
going on.
We can't trivially reproduce this in-house, though we will keep trying.
Damn. Well, at least we eliminated one possible cause. Is there any
chance you can run with `--debug` enabled on one of the failed
machines, and see if that points to the right place? Otherwise we
have to start to get into some fairly heavy ways to figure out what is
going on.
Damn. Well, at least we eliminated one possible cause. Is there any
chance you can run with `--debug` enabled on one of the failed
machines, and see if that points to the right place? Otherwise we
have to start to get into some fairly heavy ways to figure out what is
going on.OK I'm now running it with --debug into separate log files, to compare a working and non-working runs. Unfortunately the hung Puppet doesn't seem to reveal anything interesting in the logs. A working puppet run looks like this:
Sorry for not getting back to this sooner. If you are running 2.7.10,
can you try removing the file
`puppet/util/instrumentation/listeners/process_name.rb` and see if
that fixes the problem?
We have some reports that can cause hangs, and eliminating it will
make sure this doesn't descend from there.
Otherwise we really have to start getting into more aggressive
debugging. Would you be comfortable doing some hacking / patching of
the code to narrow this down, and/or installing some development tools
on one of the nodes that triggers the hang?
Sorry for not getting back to this sooner. If you are running 2.7.10,can you try removing the file
`puppet/util/instrumentation/listeners/process_name.rb` and see if
that fixes the problem?
Oh, awesome. This is why the bug system works better than just email
- someone else noticed and fixed it up. :)
That code will be gone in the next release, and won't return until
better behaved.