Issue #14985 has been updated by Andrew Parker.

It turns out that the new implementation for the `calling_module` had the same 
semantics as `$module_name` in puppet. This is different from the old meaning 
of `calling_module` in at least one case. However, the consistency is nice and 
since this feature has never worked in puppet 3 changing this isn't a breaking 
change in the puppet 3 series.

My investigation for what was going on can be found at 
<https://gist.github.com/zaphod42/5322575>.

----------------------------------------
Bug #14985: calling_module and calling_class don't always return the calling 
module/class
https://projects.puppetlabs.com/issues/14985#change-88156

* Author: Patrick Ramsey
* Status: In Topic Branch Pending Review
* Priority: Normal
* Assignee: Andrew Parker
* Category: 
* Target version: 3.x
* Affected Puppet version: 3.0.0
* Keywords: hiera calling_class calling_module defined_type
* Branch: https://github.com/puppetlabs/puppet/pull/1497
----------------------------------------
These two special hiera scope values are looked up by doing ".resource.name" on 
the Puppet::Parser::Scope from which hiera() was called, with the assumption 
that this will always return the class name.  However, if hiera() is called 
from within a define, then @real.resource will be an instance of that define, 
rather than of the class, and the value returned will be the name of that 
resource rather than of the class.

This is unintuitive (as it means calling_module/calling_class aren't set to a 
module or classname), and it breaks the ability to namespace against 
calling_class and title (to give specific resources their own configuration) a 
la

:hierarchy: - %{calling_class}/%{title}

I'll submit a patch later.  For now, I'm working around this by setting a 
constant inside my puppet define and matching against that in /etc/hiera.yaml, 
but that's kind of a hack.




-- 
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