Issue #21833 has been updated by Peter Meier.

tagged is a function, which means that it is heavily based on parse order on 
the master. So it might be the case that while examining your second code 
snippet, the class really have not yet been included and hence your manifests 
are not yet tagged with it.

In general I would recommend to build your modules differently, as such 
constructs are rather adventurous and too much magic. 

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

* Author: Luitzen van Gorkum
* Status: Unreviewed
* 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:

  if ! tagged('apache::ssl') { include apache::ssl }

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

  if tagged('apache::ssl') {
    do something
  } else {
    do something else
  }




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