Hi,
today I butted heads with yet another cron issue [1] that was caused by
the fact that the cron type specifies a default value for the user
property. It made me think of a fundamental issue I had jotted down some
time ago in a gist [2].
I propose that default values for properties are dangerous, at least in
the way they work right now. What happens is that a manifest that does
not specify a value for a property that has a default value leads to a
catalog with this default as the should-value for that property. See the
gist for an example. Puppet will mercilessly sync systems to the default
values.
As far as I can tell, the defaults are only necessary for cases in which
ensure changes from absent to present (or another non-absent value, for
some types). Would it make sense to try and limit their use to exactly
those times?
Cheers,
Felix
[1] https://tickets.puppetlabs.com/browse/PUP-1624
[2] https://gist.github.com/ffrank/8327298
--
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+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/52F81A86.70000%40Alumni.TU-Berlin.de.
For more options, visit https://groups.google.com/groups/opt_out.
Hi,
today I butted heads with yet another cron issue [1] that was caused by
the fact that the cron type specifies a default value for the user
property. It made me think of a fundamental issue I had jotted down some
time ago in a gist [2].
I propose that default values for properties are dangerous, at least in
the way they work right now. What happens is that a manifest that does
not specify a value for a property that has a default value leads to a
catalog with this default as the should-value for that property. See the
gist for an example. Puppet will mercilessly sync systems to the default
values.
As far as I can tell, the defaults are only necessary for cases in which
ensure changes from absent to present (or another non-absent value, for
some types). Would it make sense to try and limit their use to exactly
those times?