Issue #7287 has been reported by Matt Robinson. ---------------------------------------- Bug #7287: Parameterized classes can't be assigned to stages https://projects.puppetlabs.com/issues/7287
Author: Matt Robinson Status: Accepted Priority: Normal Assignee: Category: Target version: Affected Puppet version: 2.6.8rc1 Keywords: parameterized_class parameterised parameterized class stage stages run runstage Branch: Maybe there's a different way to put a parameterized class in a stage, but so far the only way I've seen is what's in the documentation (below) and by making stage a parameter to a class (which only recently works as of #. http://docs.puppetlabs.com/guides/language_guide.html#parameterised-classes http://docs.puppetlabs.com/guides/language_guide.html#run-stages stage { pre: before => Stage[main] } class { "baz": stage => pre; } class baz($bazvar) { notice("in class baz and my var is $bazvar") } Running this manifest results in the following error: Must pass bazvar to Class[Baz] at /Users/matthewrobinson/puppet_examples/stages_parametrized_classes.pp:3 on node mattmac.local Here's the associated stack trace: /Users/matthewrobinson/work/puppet/lib/puppet/util/errors.rb:60:in `fail' /Users/matthewrobinson/work/puppet/lib/puppet/resource/type.rb:253:in `set_resource_parameters' /Users/matthewrobinson/work/puppet/lib/puppet/resource/type.rb:248:in `each' /Users/matthewrobinson/work/puppet/lib/puppet/resource/type.rb:248:in `set_resource_parameters' /Users/matthewrobinson/work/puppet/lib/puppet/resource/type.rb:72:in `evaluate_code' /Users/matthewrobinson/work/puppet/lib/puppet/parser/resource.rb:71:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:161:in `evaluate_classes' /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:148:in `each' /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:148:in `evaluate_classes' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/resource.rb:60:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/util/errors.rb:35:in `exceptwrap' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/resource.rb:43:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/resource.rb:42:in `collect' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/resource.rb:42:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/util/autoload.rb:79:in `collect' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/branch.rb:16:in `each' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/branch.rb:15:in `each' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/resource.rb:25:in `collect' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/resource.rb:25:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast.rb:76:in `safeevaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/astarray.rb:25:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/astarray.rb:20:in `each' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast/astarray.rb:20:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/ast.rb:76:in `safeevaluate' /Users/matthewrobinson/work/puppet/lib/puppet/resource/type.rb:74:in `evaluate_code' /Users/matthewrobinson/work/puppet/lib/puppet/parser/resource.rb:71:in `evaluate' /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:297:in `evaluate_main' /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:101:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:18:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/catalog/compiler.rb:78:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/util.rb:198:in `benchmark' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/catalog/compiler.rb:76:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/catalog/compiler.rb:35:in `find' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/indirection.rb:188:in `find' /Users/matthewrobinson/work/puppet/lib/puppet/application/apply.rb:198:in `main' /Users/matthewrobinson/work/puppet/lib/puppet/application/apply.rb:134:in `run_command' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:411:in `hook' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:402:in `exit_on_fail' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run' /Users/matthewrobinson/work/puppet/lib/puppet/util/command_line.rb:62:in `execute' /Users/matthewrobinson/work/puppet/bin/puppet:4 /Users/matthewrobinson/work/puppet/lib/puppet/parser/compiler.rb:21:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/catalog/compiler.rb:78:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/util.rb:198:in `benchmark' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/catalog/compiler.rb:76:in `compile' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/catalog/compiler.rb:35:in `find' /Users/matthewrobinson/work/puppet/lib/puppet/indirector/indirection.rb:188:in `find' /Users/matthewrobinson/work/puppet/lib/puppet/application/apply.rb:198:in `main' /Users/matthewrobinson/work/puppet/lib/puppet/application/apply.rb:134:in `run_command' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:411:in `hook' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:402:in `exit_on_fail' /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run' /Users/matthewrobinson/work/puppet/lib/puppet/util/command_line.rb:62:in `execute' /Users/matthewrobinson/work/puppet/bin/puppet:4 -- 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.
