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.