Matthias Saou wrote:
> When I update my rpm packages on the master (RHEL 5.4), when the
> "service puppetmaster stop" command is run, the
> /usr/sbin/puppetmasterd file is removed. Ouch!

Ouch indeed.  This is my fault. :(

> I've just done an strace run of "service puppetmaster stop" after
> installing the packages using --noscripts and clearly see this :
>
> [pid   413] execve("/bin/rm", ["rm", "-f", "/usr/sbin/puppetmasterd"],
> [/* 6 vars */]) = 0
>
> The packages are using only the init scripts included in the source.

The puppetmaster init script doesn't have the pidfile var set, and the
killproc function manages to think /usr/sbin/puppetmasterd is the pid
file.  I believe the fix is to add a pidfile setting:

diff --git i/conf/redhat/server.init w/conf/redhat/server.init
index 5505058..4f44206 100644
--- i/conf/redhat/server.init
+++ w/conf/redhat/server.init
@@ -13,6 +13,7 @@ PATH=/usr/bin:/sbin:/bin:/usr/sbin
 export PATH
 
 lockfile=/var/lock/subsys/puppetmaster
+pidfile=/var/run/puppet/puppetmasterd.pid
 
 # Source function library.
 . /etc/rc.d/init.d/functions

I'm very sorry for breaking this.  I'll test and send a patch off
soon.

-- 
Todd        OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remember wisdom is gained through failure as well as success.

Attachment: pgpQuRDioytJb.pgp
Description: PGP signature

Reply via email to