According to the tagging documentation[1], tags are automatically
created for enclosing node, define, and class structures.

  1.  
http://projects.puppetlabs.com/projects/1/wiki/Using_Tags#Automatic-Tagging

If I create three classes like this:
        class first {
          tag('doot')
        }

        class second {
          if tagged(first) {
                 warning('first tag found')
          } else {
                 warning('first tag not found')
          }
          if tagged(doot) {
                 warning('doot tag found')
          } else {
                 warning('doot tag not found')
          }
          if tagged(third) {
                 warning('third tag found')
          } else {
                 warning('third tag not found')
          }
        }

        class third {
        }


and declare them:
        class {
          'first':;
          'second':;
          'third':;
        }

why does the 'first' tag exist within the 'second' class?  This seems to be
inconsistent with the documentation since 'first' doesn't enclose 'second'.
But given that the 'first' tag is set, why isn't the 'third' tag also set?

Finally, is there a way to extend the scope of a tag through explicit
dependencies?  I'd like to do something like:
        Class['first'] -> Class['second'] <- Class['third']
such that tags 'first', 'doot', and 'third' are all present in 'second'.

Thanks,
Christian

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to