Title: Message Title
Sam McLeod commented on PUP-1054
Re: Services should support 'reload' in addition to 'restart'
Matthew Patton, respectfully I think you're missing the point debatably the most common use of reload / SIGHUP on modern Linux systems.
I agree with Colin Alston, a great deal of functionality within Puppet or indeed any automation platform or subsystem 'could be dangerous' if used unwisely.
If you take the stance that people should only use software in one, specific way you'll end up with an inflexible system and in this case - product that doesn't work for many people. When it comes to systems / platform automation and configuration there is (likely more than in any other field of deployment) a diverse range of operating modes with a varying range of scope that the software may be deployed.
—
One example (of many I can think of) is PostgreSQL, perhaps your solution requires the use of an ACID compliant database - or maybe it's just what your organisation uses as a SOE. PostgreSQL like a lot of software has configuration that can be changed online without needing to restart the service, for example - you might dynamically adjust the size of various memory buffers based on the number of clients deployed to a cluster etc... you don't need to restart your database server for every change and there could be many undesired side affects of doing so, not just disconnections if not handled correctly but also things like loss of memory caching and live query planner optimisations that could affect performance.
—
What might be useful is a meta-parameter to Service Reload which could take a command to test that reload will work for a specific change and if it doesn't exit 0, subsequent puppet runs will by effect continue to show as failed rather than applying the failed configuration, issuing a Service Reload, failing once and being forgotten about.
You can do dangerous things with many commands in Puppet (or indeed any configuration management / automation system), it doesn't mean you shouldn't rule out that the commands that might lead to such situations completely - you'd end up with an inflexible, one-size-fits-none product that would suit very few customers needs.
Add Comment
This message was sent by Atlassian JIRA