Hi, I have an issue with templates and variable lookup when used in wrapped defines - which was working in older puppet versions (maybe due to the dynamic variable lookup):
e.g. The following code: The first define setting a local variable and calling a second define with a parameter: cat define1/manifests/init.pp define define1 { $var = 'test' define2 { “define1_${name}": template => 'define1/test.erb', } } The second define using a resource type and makes use of the parameter: cat define2/manifests/init.pp define define2 ($template) { notify { "define2_${name}": message => template($template), } } The template which should be used in the second define (handed over as parameter): cat define1/templates/test.erb test = <%= @var %> The result: puppet apply -e 'define1 { 'test': }' Notice: Compiled catalog for puppetmaster.example.net in environment production in 0.33 seconds Notice: test = Notice: /Stage[main]/Main/Define1[test]/Define2[define1_test]/Notify[define2_define1_test]/message: defined 'message' as 'test = ' Notice: Applied catalog in 0.03 seconds If the first define would be a class then I could do a scope.lookupvar. If I change the template to do scope.lookupvar I receive the following: puppet apply -e 'define1 { 'test': }' Warning: Scope(Define2[define1_test]): Could not look up qualified variable 'define1::var'; class define1 could not be found Notice: Compiled catalog for puppetmaster.example.net in environment production in 0.32 seconds Notice: test = Notice: /Stage[main]/Main/Define1[test]/Define2[define1_test]/Notify[define2_define1_test]/message: defined 'message' as 'test = ' Notice: Applied catalog in 0.03 seconds How can I access the variable from the first define? I can change the second define to have another parameter so it knows about the template variable. Is there any other solution available? Thanks, Martin -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/BB42D49A-3D69-41A3-8197-18B2E182DD4B%40gmail.com. For more options, visit https://groups.google.com/d/optout.