On 16/02/18 04:56, Juan Hoyos wrote:
Hi there!

In the COMMITTERS.md [0] file it is clearly stated that Puppet uses Feature Flags as the primary opt-in behavior, but cannot find a clear location where these are being used. In defaults.rb [1] I see configuration settings without no explicit distinction between stable or experimental features.


An experimental status is mentioned in the documentation for such settings/features.

Where can I find the used Feature Flags with their defaults values?
How is decided that a new feature in Puppet should be behind a Feature Flag?


In Puppet a "feature" is technically something else - it is a mechanism to detect if being on 'windows' or if some optional thing has been installed or not.

When we talk about a feature flag we usually mean a setting that affects the behavior of puppet. --strict_variables in one such setting that is a "feature flag".

We had one major "feature flag" during the 3.x series for --compiler=future (or --compiler=current). Which enabled us to introduce the 4.x language compiler gradually. This feature flag was dropped in 4.x as the future was then the present.

We do not have a standard way of handling "feature flags", it is done on an ad-hoc basis. Currently we are testing having a single "all-future-things" flag (which right now means, use with current version of features to be released in next major). Not sure how many such actual behaviors we have atm.

I'm currently undergoing an academic research regarding Technical Debt and Feature Toggles and I'm trying to determine if Puppet is a good candidate to be analyzed.


Hope my answers above are of some help.

Best,
- henrik

Thank you in advance,

Juan

References:

[0] - https://github.com/puppetlabs/puppet/blob/master/COMMITTERS.md
[1] - https://github.com/puppetlabs/puppet/blob/master/lib/puppet/defaults.rb

--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+unsubscr...@googlegroups.com <mailto:puppet-dev+unsubscr...@googlegroups.com>. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/a96375a0-2676-49e2-a3ee-b01ce90bb732%40googlegroups.com <https://groups.google.com/d/msgid/puppet-dev/a96375a0-2676-49e2-a3ee-b01ce90bb732%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.


--

Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/

--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/p66gsj%246tf%241%40blaine.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to