Puppet is now at version 0.20.1-1
Reading this bug report and the debian/changelog it seems the init
script was overhauled in the last upload (0.20.1-1) however it still
doe not work!
I do not use puppet but have installed puppetmaster on a "clean"
machine and touched
/etc/puppet/manifests/site.pp so that puppetmasterd starts!
I can now start the daemon with
sudo /etc/init.d/puppetmaster start
and a pid file is created.... BUT the pid file is EMPTY!
# ls -l /var/run/puppetmasterd.pid
-rw-r--r-- 1 puppet puppet 0 2007-01-06 17:08 /var/run/puppetmasterd.pid
So it is no wonder that the daemon is not stopped!
Further test show that by running /usr/sbin/puppetmasterd the pid file
is created (but empty)
and that killing the process removes the pid file.
I think the bug lies in the ruby code which creates an EMPTY pid
file... it should put the pid in it!
I do not read or write ruby... but I think the problem lies in
function setpidfile in the file puppet-0.20.1/lib/puppet/daemon.rb
The code looks like:
---
def setpidfile
return unless Puppet[:setpidfile]
threadlock(:pidfile) do
Puppet.config.use(:puppet)
@pidfile = self.pidfile
if FileTest.exists?(@pidfile)
if defined? $setpidfile
return
else
raise Puppet::Error, "A PID file already
exists for #{Puppet.name}
at [EMAIL PROTECTED] Not starting."
end
end
Puppet.info "Creating PID file to %s" % @pidfile
begin
File.open(@pidfile, "w") { |f| f.puts $$ }
rescue => detail
Puppet.err "Could not create PID file: %s" % detail
exit(74)
end
$setpidfile = true
end
end
---
BUT I don't see the file being closed or sync'd to disk. My suspision
is that ruby needs another command/method to be called to commit this
write to disk. Any ruby experts out there want to comment?
Regards
Alex Owen
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]