Issue #21833 has been updated by Charlie Sharpsteen.

Charlie Sharpsteen wrote:
> If providing node classification data at the start of compilation is not 
> feasible, then you will need to ensure your "provider" classes declare 
> relationships that cause them to be evaluated after the classes that affect 
> their behavior. The [anchor 
> pattern](http://docs.puppetlabs.com/puppet/2.7/reference/lang_containment.html)
>  may help with this.

I have to retract the above statement. Anchor patterns can only help define the 
order in which resources are applied __on the agent__. The order in which 
resources are evaluated by the compiler, and thus the order in which `tagged()` 
functions relative to the classes they are looking for, is highly dependent on 
the order in which manifests are parsed. The order of compiler evaluation 
cannot be influenced by resource relationships.

----------------------------------------
Bug #21833: tagged() does not work on conditionally includes
https://projects.puppetlabs.com/issues/21833#change-95767

* Author: Luitzen van Gorkum
* Status: Ready for Documentation
* Priority: Normal
* Assignee: 
* Category: functions
* Target version: 
* Affected Puppet version: 2.7.22
* Keywords: tagged
* Branch: 
----------------------------------------
When a module conditionally includes a class (to avoid multiple includes from 
different modules) like this:

<pre>
  if ! tagged('apache::ssl') { include apache::ssl }
</pre>

Then the tagged function in another module doesn't report the class as tagged:

<pre>
  if tagged('apache::ssl') {
    do something
  } else {
    do something else
  }
</pre>


-- 
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.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to