Issue #4778 has been updated by Markus Roberts.
Subject changed from Variable scope cross stages to Parameterized classes and
scope
As Jesse suspected, this is more about parameterized classes than about stages.
The same problem occurs with:
<pre>
class a { $x = "this" }
class b { notify{"${a::x}": }}
class{"a":}
include b
</pre>
----------------------------------------
Bug #4778: Parameterized classes and scope
http://projects.puppetlabs.com/issues/4778
Author: R.I. Pienaar aka Volcane
Status: Accepted
Priority: Normal
Assignee:
Category:
Target version: 2.6.2
Affected version: 2.6.1
Keywords:
Branch:
Given the manifest:
<pre>
stage{"bootstrap": before => Stage["main"]}
class setup {
$something = "this"
}
class foo {
notify{"${setup::something}": }
}
</pre>
The following includes work:
<pre>
include setup
include foo
notice: /Stage[main]/Foo/Notify[this]/message: defined 'message' as 'this'
</pre>
However if I put the setup in the bootstrap stage it doesnt:
<pre>
class{"setup": stage => "bootstrap"}
include foo
warning: Scope(Class[Foo]): Could not look up qualified variable
'setup::something'; class setup has not been evaluated
notice:
notice: /Stage[main]/Foo/Notify[]/message: defined 'message' as ''
No title provided and "Notify[]" is not a valid resource reference
</pre>
I'd expect this to work
--
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.