Issue #2888 has been updated by Jeff McCune.

# Able to reproduce

Well, good news and bad news.  I'm able to reproduce the issue, but I haven't 
yet gotten Puppet into a harness where I can poke and prod it.

Here's how I reproduced the issue relatively quickly in the end:

* 21 Ubuntu 12.04 x86_64 nodes
* PE 2.5.3 on all nodes
* Puppet 2.7.12
* Daemon mode configured on all agents.  (/etc/init.d/pe-puppet-agent enabled 
and running)
* runinterval = 30 on all agent nodes

So I have a four-core master and 20 nodes with persistent daemonized agent 
processes checking in with a 30 second runinterval setting.

I let this run for 3 days and the issue never arose.

I then configured 5 nodes to run puppet agent --test in a loop while the daemon 
was running.  The problem came up on 4 out of 5 nodes in a matter of hours:

<pre>
#! /bin/bash
# ~/test_2888.sh
export FACTER_INTERACTIVERUN=true
export FACTER_INTERACTIVERUNDATE=$(date)
export FACTER_INTERACTIVERUNSTAMP=$(date +%s)
/opt/puppet/bin/puppet agent --test
</pre>

And the loop I ran in `tmux` on 5 of the node:

<pre>
while sleep 5; do sudo ~jeff/test_2888.sh; done
</pre>

The lock file protecting configuration runs became stale quite quickly:

<pre>
[jeff@agent11] ~ 
$ ls -l /var/opt/lib/pe-puppet/state/puppetdlock
-rw-r--r-- 1 root root 0 Sep 10 22:12 /var/opt/lib/pe-puppet/state/puppetdlock
[jeff@agent11] ~ 
$ date
Tue Sep 11 00:06:03 GMT 2012
</pre>
----------------------------------------
Bug #2888: puppetd doesn't always cleanup lockfile properly
https://projects.puppetlabs.com/issues/2888#change-70841

Author: Peter Meier
Status: Accepted
Priority: Normal
Assignee: Jeff McCune
Category: plumbing
Target version: 3.0.0
Affected Puppet version: 0.25.1
Keywords: 
Branch: 


ok I had the patch #2661 now running for some weeks and I had nearly no 
problems anymore. However from time to time (maybe once,twice a week) a random 
client doesn't remove its lockfile (@/var/lib/puppet/state/puppetdlock@), hence 
future runs fail. I assume this might still happen due to a uncatched exception 
(as in #2261), however the problem is a) hard or nearly impossible to reproduce 
and b) it occurs really by random. The only thing I can see in the logs:

<pre>
Nov 30 19:27:41 foobar puppetd[26228]: Finished catalog run in 98.79 seconds
Nov 30 20:00:02 foobar puppetd[3000]: Could not retrieve catalog from remote 
server: Error 502 on SERVER: <html>^M <head><title>502 Bad 
Gateway</title></head>^M <body bgcolor="white">^M <center><h1>502 Bad 
Gateway</h1></center>^M <hr><center>nginx/0.6.39</center>^M </body>^M </html>^M
Nov 30 20:00:03 foobar puppetd[3000]: Using cached catalog
Nov 30 20:00:03 foobar puppetd[3000]: Could not retrieve catalog; skipping run
Nov 30 20:00:04 foobar puppetd[12169]: Run of Puppet configuration client 
already in progress; skipping
Nov 30 20:30:04 foobar puppetd[21230]: Run of Puppet configuration client 
already in progress; skipping
</pre>

as I run puppetd by cron twice an hour with --splay I assume that the run 
between 19:30 and 20:00 got delayed till 20:00. At this time (20:00) a 
puppetmaster restart happens and due to that the 502 occured. This was the run 
of pid 3000, the next run (pid 12169) failed, this could either be as pid 3000 
was still running or because there was already no puppetd anymore running and 
the lock file haven't been removed. However every future run failed as well as 
the lockfile wasn't removed.

So somehow puppet doesn't remove lockfiles properly under certain conditions.

PS: If you think it's better to reopen the old bugreport, close this one and 
duplicate and re-open #2261


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to