On Thursday, December 13, 2012 4:03:20 PM UTC-8, Ugo Bellavance wrote:
>
>
> That rises two questions in my mind:
>
>
>    1. In my understanding, puppetmaster catches any changes in the 
>    manifests without needing a restart, why can't the puppet client reload 
> its 
>    puppet.conf parameters at the next run?
>
>
There's a pretty big distinction between the puppetmaster watching 
-manifests- that it uses and watching/changing -config settings- : the 
first one is pretty safe (controlled by the `filetimeout` setting and 
mostly works), the second is pretty perilous when running in a monolithic 
long-lived ruby process. 

There is a lot of tangled stuff around puppet early bootstrapping and 
initialization that is a major focus of work for the upcoming 3.1 
release: http://projects.puppetlabs.com/versions/288  but even if after 
that's cleared up, the edge cases are pretty brutal -- For example if the 
value (or heck, the contents) of $libdir changes and new versions of 
plugins are available, they can't be reliably reloaded into the same ruby 
process.  See stuff like http://projects.puppetlabs.com/issues/4248#note-29 
 , and the long list of related issues 
on http://projects.puppetlabs.com/issues/7316 . 

IMO this is the biggest drawback to long-running puppet daemon processes 
compared to periodic instantiation via cron / god / daemontools /etc: you 
just cannot be confident that the interpreter state is actually going to 
reinitialize cleanly if something big changes underneath it.
 

>
>    1. Why puppet can't use the "reload" option of most current daemons' 
>    init scripts?  I think there should be a parameter "hasreload", similar to 
>    "hasrestart", saying that the init script supports the use of the "reload" 
>    argument.  This would avoid this kind of problem, and people wouldn't have 
>    to redefine the restart command.
>
> Look back through some of the prior discussions on this topic; I can 
understand the desire but previous discussions have raised some legitimate 
issues that nobody's code so far has addressed --

http://projects.puppetlabs.com/issues/1014  (!!)
http://projects.puppetlabs.com/issues/3323

Looks like the most recent state of play was Daniel Pittman's proposal 
here: http://projects.puppetlabs.com/issues/3323#note-14
which seems nice & clean (add support for `hasrestart => graceful`). 

eric0

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/VJjARPE_o7sJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to