Jira (PUP-3531) --genconf generates options that are error prone to configure manually using defaults

2014-10-24 Thread Robert Hyerle (JIRA)
Title: Message Title










 

 Robert Hyerle updated an issue











 






 Puppet /  PUP-3531



  --genconf generates options that are error prone to configure manually using defaults 










Change By:

 Robert Hyerle









 The puppet configuration logic with its systems of defaults works fairly well. The scheme of "important" and "safe to change" options as explained on https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html is a good way to approach the multitude of possible settings.  In particular, settings such "server" and "vardir" have potential impacts for many other settings because these root settings propagate down as defaults for other settings.It is important to preserve this propagation/inheritance and override the subsequent options only when they don't follow the default rule. Otherwise, a change at the top level will not be propagated as expected: in the best case, the admin will have to carefully and manually check all the other settings in puppet.conf to insure correct behavior. Note that the generated puppet.conf file is very long.Unfortunately, the generated puppet.conf *does not* follow the above logic: it explicitly sets several options (10's) to the default value meaning that when someone changes a higher level setting (e.g. "vardir" or "server"), the defaults do not propagate.One example: "vardir" is regularly used as a default starting point for many other directories (see the attached file "vardir.grep" to see how many times it appears in the generated puppet.conf file. However, changing it may, or may not, change the subsequent values (the generated puppet.conf file is inconsistent in this manner as well). Here, the "clientyamldir" setting would not be impacted (see attached "client_yaml.grep") as one might expect. The admin needs to search through and find every place where things should (normally) change.  Explicit overrides should be just that: explicit and overrides.Fix: --genconf output should not explicitly set values that have reasonable defaults. These potential settings should remain in the conf file as comments. E.g. the client_yaml "setting" should become: "  # The default value is '$vardir/client_yaml'.  "  "  # clientyamldir = /var/lib/puppet/client_yaml  "












   

 Add Comment











 






  

Jira (PUP-3531) --genconf generates options that are error prone to configure manually using defaults

2014-10-24 Thread Robert Hyerle (JIRA)
Title: Message Title










 

 Robert Hyerle updated an issue











 






 Puppet /  PUP-3531



  --genconf generates options that are error prone to configure manually using defaults 










Change By:

 Robert Hyerle









 The puppet configuration logic with its systems of defaults works fairly well. The scheme of "important" and "safe to change" options as explained on https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html is a good way to approach the multitude of possible settings.  In particular, settings such "server" and "vardir" have potential impacts for many other settings because these root settings propagate down as defaults for other settings.It is important to preserve this propagation/inheritance and override the subsequent options only when they don't follow the default rule. Otherwise, a change at the top level will not be propagated as expected: in the best case, the admin will have to carefully and manually check all the other settings in puppet.conf to insure correct behavior. Note that the generated puppet.conf file is very long.Unfortunately, the generated puppet.conf *does not* follow the above logic: it explicitly sets several options (10's) to the default value meaning that when someone changes a higher level setting (e.g. "vardir" or "server"), the defaults do not propagate.One example: "vardir" is regularly used as a default starting point for many other directories (see the attached file "vardir.grep" to see how many times it appears in the generated puppet.conf file. However, changing it may -- , or may not -- , change the subsequent values (the generated puppet.conf file is inconsistent in this manner as well). Here, the "clientyamldir" setting would not be impacted (see attached "client_yaml.grep") as one might expect. The admin needs to search through and find every place where things should (normally) change.  Explicit overrides should be just that: explicit and overrides.Fix: --genconf output should not explicitly set values that have reasonable defaults. These potential settings should remain in the conf file as comments. E.g. the client_yaml "setting" should become:# The default value is '$vardir/client_yaml'.# clientyamldir = /var/lib/puppet/client_yaml












   

 Add Comment











 






 

Jira (PUP-3531) --genconf generates options that are error prone to configure manually using defaults

2014-10-24 Thread Robert Hyerle (JIRA)
Title: Message Title










 

 Robert Hyerle updated an issue











 






 Puppet /  PUP-3531



  --genconf generates options that are error prone to configure manually using defaults 










Change By:

 Robert Hyerle









 The puppet configuration logic with its systems of defaults works fairly well. The scheme of "important" and "safe to change" options as explained on https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html is a good way to approach the multitude of possible settings.  In particular, settings such "server" and "vardir" have potential impacts for many other settings because these root settings propagate down as defaults for other settings.It is important to preserve this propagation/inheritance and override the subsequent options only when they don't follow the default rule. Otherwise, a change at the top level will not be propagated as expected: in the best case, the admin will have to carefully and manually check all the other settings in puppet.conf to insure correct behavior. Note that the generated puppet.conf file is very long.Unfortunately, the generated puppet.conf *does not* follow the above logic: it explicitly sets several options (10's) to the default value meaning that when someone changes a higher level setting (e.g. "vardir" or "server"), the defaults do not propagate.One example: "vardir" is regularly used as a default starting point for many other directories (see the attached file "vardir.grep" to see how many times it appears in the generated puppet.conf file. However, changing it may, or may not, change the subsequent values (the generated puppet.conf file is inconsistent in this manner as well). Here, the "clientyamldir" setting would not be impacted (see attached "client_yaml.grep") as one might expect. The admin needs to search through and find every place where things should (normally) change.  Explicit overrides should be just that: explicit and overrides.Fix: --genconf output should not explicitly set values that have reasonable defaults. These potential settings should remain in the conf file as comments. E.g. the client_yaml "setting" should become:# The default value is '$vardir/client_yaml'.# clientyamldir = /var/lib/puppet/client_yaml












   

 Add Comment











 








Jira (PUP-3531) --genconf generates options that are error prone to configure manually using defaults

2014-10-24 Thread Robert Hyerle (JIRA)
Title: Message Title










 

 Robert Hyerle created an issue











 






 Puppet /  PUP-3531



  --genconf generates options that are error prone to configure manually using defaults 










Issue Type:

  Bug




Affects Versions:


 PUP 3.7.1




Assignee:

 Kylo Ginsberg




Attachments:


 client_yaml.grep, puppet.conf, vardir.grep




Components:


 Client, Puppet Server




Created:


 24/Oct/14 3:01 AM




Environment:


Ubuntu 14.04, Darwin 13.4.0, all?




Priority:

  Minor




Reporter:

 Robert Hyerle










The puppet configuration logic with its systems of defaults works fairly well. The scheme of "important" and "safe to change" options as explained on https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html is a good way to approach the multitude of possible settings. In particular, settings such "server" and "vardir" have potential impacts for many other settings because these roo

Jira (PUP-3529) --genconfig generates deprecated settings

2014-10-24 Thread Robert Hyerle (JIRA)
Title: Message Title










 

 Robert Hyerle created an issue











 






 Puppet /  PUP-3529



  --genconfig generates deprecated settings 










Issue Type:

  Bug




Affects Versions:


 PUP 3.7.1




Assignee:

 Kylo Ginsberg




Attachments:


 puppet.agent.out, puppet.conf




Components:


 Client, Puppet Server




Created:


 24/Oct/14 2:20 AM




Environment:


Darwin 13.4.0, Ubuntu 14.04




Priority:

  Minor




Reporter:

 Robert Hyerle










Use of the "--genconfig" command line option generates several settings for options that have been deprecated (even the generated puppet.conf file notes in the comments that the option has been deprecated). Running puppet (server or client) then emits deprecation warnings. These generated option settings are not needed (the generated values are the defaults). Fix: "comment out" the generated settings. I.e. the --genconfig output should prepend each deprecated option se