Issue #4542 has been updated by Markus Roberts.
One observation: having include automatically put the class into Stage[main]
isn't sufficient / correct; for example, in this:
<pre>
stage { "first": before => Stage[main] }
class foo {
include baz
notice "Foo!"
}
class baz { notice "Baz!"}
class bar { notice "Bar!"}
class {"foo": stage => first }
include bar
</pre>
we wouldn't want baz to go into main when it's included in foo; in fact, we
don't (statically) know which stage it belongs in until we've seen where (if
anywhere) the class which includes it belongs.
----------------------------------------
Bug #4542: Classes included with 'include' do not end up in the main stage
http://projects.puppetlabs.com/issues/4542
Author: R.I. Pienaar aka Volcane
Status: Accepted
Priority: Normal
Assigned to: Markus Roberts
Category:
Target version:
Affected version: 2.6.1rc2
Keywords:
Branch:
give the manifest:
<pre>
stage { "first": before => Stage[main] }
class foo {
notice("Foo!")
}
class bar {
notice("Bar!")
}
class{"foo": stage => "first"}
include bar
</pre>
And the documentation:
<blockquote>
"By default there is only one stage named 'main' and all classes are
automatically associated with this stage. Unless explicitly stated, a class
will be associated with the main stage"
</blockquote>
I would expect the foo class to be realized first, I get though:
<pre>
notice: Scope(Class[Bar]): Bar!
notice: Scope(Class[Foo]): Foo!
</pre>
If instead of 'include bar' I do:
<pre>
class{"bar": stage => "main"}
</pre>
I get:
<pre>
notice: Scope(Class[Foo]): Foo!
notice: Scope(Class[Bar]): Bar!
</pre>
So I conclude that 'include bar' isnt putting the class in the main stage which
I think is the correct behavior. I might be missing something, first time
playing with stages.
--
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.