Issue #3664 has been updated by Markus Roberts. Status changed from Ready for Testing to Closed
commit:b5db33bc2a639984cda9a651abe57d044c14f23d Fix for 3664: interpolating qualified variables. commit:9ddee72e05af79ab7f453b37e9497dca33f7d5ba Fix #3664 - qualified variable parsing in string interpolation ---------------------------------------- Bug #3664: Qualified variable interpolation is broken in master http://projects.puppetlabs.com/issues/3664 Author: Brice Figureau Status: Closed Priority: High Assigned to: Markus Roberts Category: parser Target version: 2.6 Affected version: testing Keywords: Branch: http://github.com/MarkusQ/puppet/tree/tickets/master/3664 I know master is in big flux at the moment, but it also happens on testing. This is certainly some minor glitches in Markus' new string interpolation system. The following manifest which used to work fine on 0.2X.X is not working anymore: <pre> class myclass { $var = 12 } include myclass notice("my var is: ${myclass::var}") </pre> it fails with: <pre> /Users/brice/devl/puppet/lib/puppet/parser/parser_support.rb:317:in `on_error' /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `_racc_yyparse_c' /Users/brice/devl/puppet/lib/puppet/parser/lexer.rb:466:in `scan' /opt/local/lib/ruby/1.8/racc/parser.rb:152:in `_racc_yyparse_c' /opt/local/lib/ruby/1.8/racc/parser.rb:152:in `__send__' /opt/local/lib/ruby/1.8/racc/parser.rb:152:in `yyparse' /Users/brice/devl/puppet/lib/puppet/parser/parser_support.rb:328:in `parse' /Users/brice/devl/puppet/lib/puppet/resource/type_collection.rb:145:in `perform_initial_import' /Users/brice/devl/puppet/lib/puppet/node/environment.rb:63:in `known_resource_types' /Users/brice/devl/puppet/lib/puppet/resource/type_collection_helper.rb:5:in `known_resource_types' /Users/brice/devl/puppet/lib/puppet/parser/compiler.rb:379:in `initvars' /Users/brice/devl/puppet/lib/puppet/parser/compiler.rb:163:in `initialize' /Users/brice/devl/puppet/lib/puppet/parser/compiler.rb:18:in `new' /Users/brice/devl/puppet/lib/puppet/parser/compiler.rb:18:in `compile' /Users/brice/devl/puppet/lib/puppet/indirector/catalog/compiler.rb:79:in `compile' /Users/brice/devl/puppet/lib/puppet/util.rb:183:in `benchmark' /Users/brice/devl/puppet/lib/puppet/indirector/catalog/compiler.rb:77:in `compile' /Users/brice/devl/puppet/lib/puppet/indirector/catalog/compiler.rb:34:in `find' /Users/brice/devl/puppet/lib/puppet/indirector/indirection.rb:195:in `find' /Users/brice/devl/puppet/lib/puppet/indirector.rb:51:in `find' /Users/brice/devl/puppet/lib/puppet/application/main.rb:119:in `main' /Users/brice/devl/puppet/lib/puppet/application.rb:306:in `send' /Users/brice/devl/puppet/lib/puppet/application.rb:306:in `run_command' /Users/brice/devl/puppet/lib/puppet/application.rb:297:in `run' /Users/brice/devl/puppet/lib/puppet/application.rb:395:in `exit_on_fail' /Users/brice/devl/puppet/lib/puppet/application.rb:297:in `run' bin/puppet:20 /Users/brice/devl/puppet/lib/puppet/parser/compiler.rb:21:in `compile' /Users/brice/devl/puppet/lib/puppet/indirector/catalog/compiler.rb:79:in `compile' /Users/brice/devl/puppet/lib/puppet/util.rb:183:in `benchmark' /Users/brice/devl/puppet/lib/puppet/indirector/catalog/compiler.rb:77:in `compile' /Users/brice/devl/puppet/lib/puppet/indirector/catalog/compiler.rb:34:in `find' /Users/brice/devl/puppet/lib/puppet/indirector/indirection.rb:195:in `find' /Users/brice/devl/puppet/lib/puppet/indirector.rb:51:in `find' /Users/brice/devl/puppet/lib/puppet/application/main.rb:119:in `main' /Users/brice/devl/puppet/lib/puppet/application.rb:306:in `send' /Users/brice/devl/puppet/lib/puppet/application.rb:306:in `run_command' /Users/brice/devl/puppet/lib/puppet/application.rb:297:in `run' /Users/brice/devl/puppet/lib/puppet/application.rb:395:in `exit_on_fail' /Users/brice/devl/puppet/lib/puppet/application.rb:297:in `run' bin/puppet:20 Could not parse for environment production: Syntax error at 'myclass::var'; expected ')' at /tmp/var.pp:8 on node macbook.local </pre> the following manifest works fine, though: <pre> class myclass { $var = 12 } include myclass $var2 = $myclass::var notice("my var is: ${var2}") </pre> -- 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.
