-
-
Save baurmatt/86ea02c0fd6dd173efab4a7bb7ddf23e to your computer and use it in GitHub Desktop.
Error: Evaluation Error: Error while evaluating a Function Call, undefined local variable or method `created' for Puppet::Pops::Loader::RubyLegacyFunctionInstantiator:Class | |
Did you mean? create (file: /tmp/kitchen/modules/sys11mysql/manifests/init.pp, line: 105, column: 30) on node da0373423de9.syseleven.net | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/ruby_legacy_function_instantiator.rb:29:in `create' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/module_loaders.rb:284:in `instantiate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/module_loaders.rb:258:in `find' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:161:in `internal_load' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/dependency_loader.rb:49:in `block in find' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/dependency_loader.rb:47:in `each' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/dependency_loader.rb:47:in `reduce' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/dependency_loader.rb:47:in `find' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:161:in `internal_load' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:42:in `load_typed' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/loader.rb:72:in `load' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:302:in `call_function' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:976:in `call_function_with_block' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:945:in `eval_CallNamedFunctionExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:370:in `eval_AssignmentExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1042:in `block in eval_IfExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:981:in `with_guarded_scope' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1038:in `eval_IfExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `block in eval_BlockExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `each' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `reduce' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:660:in `eval_BlockExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:90:in `visit_this_1' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:32:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:72:in `block (2 levels) in evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:71:in `catch' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:71:in `block in evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:70:in `catch' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:70:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:136:in `evaluate_code' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:78:in `block in evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:70:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:385:in `each' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:385:in `evaluate_classes' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/include.rb:48:in `include' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `catch' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `catch' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call' | |
/tmp/kitchen/manifests/sys11mysql-slave/site.pp:1:in `block in call_function' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `eval' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:976:in `call_function_with_block' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:971:in `eval_CallMethodExpression' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:48:in `block in visit_this' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:42:in `each' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:42:in `visit_this' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:92:in `visit_this_1' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate' | |
/tmp/kitchen/manifests/sys11mysql-slave/site.pp:in `stack' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:33:in `eval' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:33:in `stack' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:737:in `eval_Program' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:48:in `block in visit_this' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:42:in `each' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:42:in `visit_this' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:92:in `visit_this_1' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:125:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:136:in `evaluate_code' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:78:in `block in evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:70:in `evaluate' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:591:in `evaluate_main' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:165:in `block (2 levels) in compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:165:in `block in compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:252:in `override' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:154:in `compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:34:in `compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:303:in `block (2 levels) in compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:301:in `block in compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:231:in `block in benchmark' | |
/opt/puppetlabs/puppet/lib/ruby/2.5.0/benchmark.rb:308:in `realtime' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:230:in `benchmark' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:299:in `compile' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:54:in `block in find' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/node/environment.rb:433:in `with_text_domain' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:53:in `find' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:194:in `find' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:262:in `block in main' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:252:in `override' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:233:in `main' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:174:in `run_command' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `block in run' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:667:in `exit_on_fail' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:382:in `run' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:136:in `run' | |
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:73:in `execute' | |
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>' |
same issue happened for me too, tho I'm using puppet 5 and suddenly it started to happen, seeing it when using 'mysql_deepmerge' for example
I had the same error (on puppet 5, no server using puppet apply).
It was working yesterday Oct 23rd for me and stopped working today.
I discovered that a new version of the puppet agent was released on October 23rd
After forcing the old version of puppet agent to be installed (5.5.6) the issue went away.
I suspect some bad interaction between old versions of the puppetlabs-mysql modules (i am using 2.3.1) and puppet agent
We had puppetlabs-mysql version (3.8.0) and had the same issue. Just updated to puppetlabs-mysql 6.2.0 and the problem went away.
The problem was, that we still used mysql_deepmerge
(Puppet 3x function) instead of mysql::deepmerge
(Puppet 4x) function.
mysql::deepmerge
is included since puppetlabs-mysql 6.0.0.
This is coming from https://tickets.puppetlabs.com/browse/PUP-9137 and was fixed by puppetlabs-mysql with
https://github.com/puppetlabs/puppetlabs-mysql/blob/master/CHANGELOG.md#added-2
Use puppet4 functions-api puppetlabs/puppetlabs-mysql#1044 (juliantodt)
I've updated to the latest release of the mysql module, and it is now also fixed with Puppet Agent 5.5.7. Thanks for the insights in this Gist, helped a lot with finding the root cause :)
The puppetserver-side "fix" for me went out like yesterday via https://tickets.puppetlabs.com/browse/PUP-9270. The error in this gist was just eating the real error. With the release of 6.0.4 I now can see my real error (that being an old 3x function using some deprecated behavior that needed minor cleaning) and was able to fix it. See ticket for details.
@baurmatt did you find this cause of this error? I'm seeing it when testing code in Puppet 6 that worked in Puppet 5. Any clues you've found would help. Thanks!