Issue #20923 has been updated by Raphaël Pinson.

Right. To give just a simple example of why this shouldn't become the default: 
an `capitalize()` function currently gets an empty value if the variable passed 
is not instantiated. If `:undef` wasn't munged, then it would get the `:undef` 
symbol and would very likely return the `:Undef` symbol if not check is made on 
the type.

On the other hand, the need to manage `:undef` in functions is potentially not 
limited to hiera, so it makes sense to have a generic way of opting-in for 
function developers. I actually believe that hiera functions could even opt-in 
by default (instead of using a `hiera_munge_undef` option in puppet.conf) since 
I think the current behavior in hiera to be faulty.

----------------------------------------
Bug #20923: Hiera cannot take `undef` as a default value
https://projects.puppetlabs.com/issues/20923#change-91675

* Author: Raphaël Pinson
* Status: In Topic Branch Pending Review
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 
* Keywords: 
* Branch: https://github.com/puppetlabs/puppet/pull/1670
----------------------------------------
As discussed with Jeff McCune yesterday, I believe #13210 is not a duplicate of 
#15329, as #13210 can be fixed without fixing #15329 per se.

Here's the idea:

* Implement a new `:honor_undef` option for functions, defaulting to `false`;
* Implement a new `:hiera_munge_undef` option in puppet.conf, defaulting to 
`true` for backwards compatibility;
* Use `:honor_undef = true` in all hiera functions when `:hiera_munge_undef` is 
set to `false`.

The code can be found in this PR: https://github.com/puppetlabs/puppet/pull/1670


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to