Issue #5392 has been updated by Matt Robinson. Status changed from Needs Decision to Available In Testing Branch
Not sure what decision was needed here, but the ticket boiled down to we should have a better error message when you try to realize a resource that didn't exist. I've just pushed commit:285c4cc4b056b9c4990738c3d479d1a8993cf959 to do this. Peter, thanks for the original patch, I didn't end up using the code since it returned instead of raised, but it pointed out the problem area to me. ---------------------------------------- Bug #5392: Misleading error message when trying to collect resources of an undefined type https://projects.puppetlabs.com/issues/5392 Author: Peter Meier Status: Available In Testing Branch Priority: Normal Assignee: Nigel Kersten Category: Target version: Affected Puppet version: Keywords: communitypatch Branch: https://github.com/duritong/puppet/tree/ticket/2.6.x/5392 On 2.6.3 I get the following error: <pre> /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/collection.rb:19:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:76:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:71:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:295:in `evaluate_parent_type' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:67:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:71:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:151:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/functions/include.rb:6:in `function_include' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/caseopt.rb:61:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:25:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/caseopt.rb:54:in `eachopt' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:24:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/branch.rb:16:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/branch.rb:15:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/casestatement.rb:23:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:76:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:71:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:151:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/functions/include.rb:6:in `function_include' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:76:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:71:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:151:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/functions/include.rb:6:in `function_include' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `send' [57/222] /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:76:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:71:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:151:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:142:in `evaluate_classes' /usr/lib/ruby/site_ruby/1.8/puppet/parser/functions/include.rb:6:in `function_include' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/function.rb:33:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:35:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/astarray.rb:34:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:72:in `safeevaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:76:in `evaluate_code' /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:71:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:225:in `evaluate_ast_node' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:103:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:18:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:77:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:192:in `benchmark' /usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:191:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:75:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:34:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:193:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:50:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:101:in `do_find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:24:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen' /usr/lib/ruby/1.8/webrick/server.rb:173:in `call' /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in `start' /usr/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/lib/ruby/1.8/webrick/server.rb:92:in `start' /usr/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/lib/ruby/1.8/webrick/server.rb:82:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:127:in `listen' [2/222] /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:142:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:124:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:114:in `main' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:46:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:287:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:393:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:287:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:55:in `execute' /usr/bin/puppet:4 err: undefined method `name' for nil:NilClass at /srv/puppet/development/modules/public/nagios/manifests/base.pp:77 on node foo.bar.ch /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:21:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:77:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:192:in `benchmark' /usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:191:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:75:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:34:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:193:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:50:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:101:in `do_find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:24:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen' /usr/lib/ruby/1.8/webrick/server.rb:173:in `call' /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start' /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in `start' /usr/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/lib/ruby/1.8/webrick/server.rb:92:in `start' /usr/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/lib/ruby/1.8/webrick/server.rb:82:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:127:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:142:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:124:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:114:in `main' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:46:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:287:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:393:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:287:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:55:in `execute' /usr/bin/puppet:4 err: undefined method `name' for nil:NilClass at /srv/puppet/development/modules/public/nagios/manifests/base.pp:77 on node foo.bar.ch </pre> [base.pp line 77]:(http://git.puppet.immerda.ch/?p=module-nagios.git;a=blob;f=manifests/base.pp;h=a32edcfdea5a1c747743e4887d0605181c139ad3;hb=36522dfeac8f5b2405282b9d01cd6e83d50d3de6#l77) As I'm collecting other exported resources on other hosts and it works fine there I assume it has to do either with the kind of resource or one of the exported resources is broken. -- 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.
