basho / cuttlefish

never lose your childlike sense of wonder baby cuttlefish, promise me?
Apache License 2.0
205 stars 124 forks source link

Add `new_conf_value` attribute #221

Closed nickelization closed 8 years ago

nickelization commented 8 years ago

We don't currently have a way to specify that a default value should be written into generated config files without making it the default for all scenarios. For example, we want to be able to generate a config file that enables a new feature by default on fresh installations, but without automatically enabling that feature for anyone upgrading from an older version of the software.

Right now the only way to cause a field to show up in generated config is by setting the default attribute, but then that value is used as a default even if/when the corresponding flag is not present in the config file at all.

To address this scenario, this PR adds a config_file_default attribute. Setting this attribute will cause its value to be used as a default when generating a config file, but will otherwise have no effect.

TODO: We will probably want to add documentation for this feature, but lack of this functionality is currently blocking @matthewvon 's LZ4 work, so I'm going to PR the code now and update the docs later as a separate task.

nickelization commented 8 years ago

Had a long chat with @fadushin and @tburghart this morning, and we ultimately agreed to rename the config_file_default flag, and to add a comment to the cuttlefish_conf code to clarify why we need the new flag when the behavior in that piece of code looks identical to the existing default flag. Will make those changes and add them to this PR shortly.

tburghart commented 8 years ago

:+1: d34581a