On Thursday, December 13, 2012 4:03:20 PM UTC-8, Ugo Bellavance wrote:
That rises two questions in my mind:
- 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.
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.
- 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 --
which seems nice & clean (add support for `hasrestart => graceful`).
eric0