Issue #21404 has been updated by Matthaus Owens.
Jo,
Can you post your puppet.conf on the affected system? The default puppet.conf
shipping with our redhat packages has the following lines under the main
section (and main should affect both master and agents)...
<pre>
# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/run/puppet
</pre>
Does your puppet.conf have that?
This still doesn't explain why the behavior changed of course.
----------------------------------------
Bug #21404: puppet cannot manage agent or master after update to puppet 3.2
https://projects.puppetlabs.com/issues/21404#change-93347
* Author: Jo Rhett
* Status: Unreviewed
* Priority: High
* Assignee:
* Category:
* Target version: 3.2.3
* Affected Puppet version: 3.2.2
* Keywords:
* Branch:
----------------------------------------
When puppet is configured to manage it's own services it fails, due to broken
init scripts for EL6
<pre>
Notice: /Stage[main]/Puppet::Server/Service[puppetmaster]/ensure: ensure
changed 'stopped' to 'running'
Info: /Stage[main]/Puppet::Server/Service[puppetmaster]: Unscheduling refresh
on Service[puppetmaster]
Notice: /Stage[main]/Puppet/Service[puppet]/ensure: ensure changed 'stopped' to
'running'
Info: /Stage[main]/Puppet/Service[puppet]: Unscheduling refresh on
Service[puppet]
# service puppetmaster status
puppet dead but subsys locked
# service puppet status
puppet dead but subsys locked
# ps auwx |grep puppet
puppet 10167 0.3 5.6 207052 109260 ? Ssl 17:52 0:32 /usr/bin/ruby
/usr/bin/puppet master
root 13385 0.0 3.0 148236 59508 ? Ss 19:37 0:00 /usr/bin/ruby
/usr/bin/puppet agent
root 15789 0.0 0.0 103236 832 pts/0 S+ 20:08 0:00 grep puppet
</pre>
Looking into the configuration, I found that pidfiles were being stored in the
vardir, whereas the init scripts expected them in /var/run/puppet
<pre>
# grep pid /etc/init.d/puppet
pidfile=${PIDFILE-/var/run/puppet/agent.pid}
daemonopts="--pidfile $pidfile"
pidopts="-p $pidfile"
killproc $pidopts $puppetd
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
killproc $pidopts $puppetd -HUP
# grep pid /etc/init.d/puppetmaster
pidfile=/var/run/puppet/master.pid
daemonopts="--pidfile $pidfile"
pidopts="-p $pidfile"
killproc $pidopts $PUPPETMASTER
status $pidopts $PUPPETMASTER
# grep pid /var/log/messages
Jun 22 20:01:34 backup0 puppet-agent[14679]: Could not prepare for execution:
Could not create PID file: /var/lib/puppet/run/agent.pid
Jun 22 20:04:58 backup0 puppet-master[14918]: Could not run: Could not create
PID file: /var/lib/puppet-server/run/master.pid
# puppet agent --configprint pidfile
/var/lib/puppet/run/agent.pid
# puppet master --configprint pidfile
/var/lib/puppet/run/master.pid
</pre>
There are no pidfile or rundir statements in my puppet configuration.
Unfortunately, the only way to make it work is to override the defaults on EL6
systems
<pre>
puppet.conf:
[agent]
pidfile = /var/run/puppet/agent.pid
[master]
pidfile = /var/run/puppet/master.pid
</pre>
--
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.