Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-9270

puppet 5.5.7 and 6.0.3 cause a stacktrace with puppetlabs-mysql 5.x series

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • PUP 5.5.7
    • PUP 6.0.4
    • None
    • Needs Assessment
    • Bug Fix
    • Hide
      When a legacy function does not comply with the rules for how it should be written it caused Puppet 5.5.7 and Puppet 6.0.0 to fail with a faulty error message. This is now fixed in Puppet 5.5.8 by accepting the illegal implementation of the function. For Puppet 6.0.4 the intended error will be raised.
      Show
      When a legacy function does not comply with the rules for how it should be written it caused Puppet 5.5.7 and Puppet 6.0.0 to fail with a faulty error message. This is now fixed in Puppet 5.5.8 by accepting the illegal implementation of the function. For Puppet 6.0.4 the intended error will be raised.
    • Needs Assessment

    Description

      Puppet Version: 5.5.7
      Puppet Server Version:
      OS Name/Version: CentOS 7

      The puppet-nova unit tests that consume puppetlabs-mysql 5.2.1 are failing with:

      Evaluation Error: Error while evaluating a Function Call, undefined local variable or method `created' for Puppet::Pops::Loader::RubyLegacyFunctionInstantiator:Class (file: /home/zuul/workspace/spec/fixtures/modules/mysql/manifests/server.pp, line: 52, column: 14) on node centos-7-rax-ord-0000030381
      

       

      Desired Behavior:

      No failure from puppet.

       

      Actual Behavior:

       

       

      Running the unit tests testing with puppetlabs-mysql 5.2.1 causes the following stack trace:

      http://logs.openstack.org/46/613446/1/check/puppet-openstack-unit-5.5-centos-7/40e8913/job-output.txt.gz#_2018-10-26_03_45_55_003975
       
      2018-10-26 03:45:55.002558 | centos-7 | 1) nova::db::mysql_api on debian-8-x86_64 configures nova::db::mysql_api with only required params should contain Openstacklib::Db::Mysql[nova_api] with user => "nova_api", password_hash => "*AA1420F182E88B9E5F874F6FBE7459291E8F4601", charset => "utf8" and collate => "utf8_general_ci"
      2018-10-26 03:45:55.002632 | centos-7 | Failure/Error:
      2018-10-26 03:45:55.002790 | centos-7 | it { is_expected.to contain_openstacklib__db__mysql('nova_api').with(
      2018-10-26 03:45:55.002886 | centos-7 | :user => 'nova_api',
      2018-10-26 03:45:55.003035 | centos-7 | :password_hash => '*AA1420F182E88B9E5F874F6FBE7459291E8F4601',
      2018-10-26 03:45:55.003125 | centos-7 | :charset => 'utf8',
      2018-10-26 03:45:55.003246 | centos-7 | :collate => 'utf8_general_ci',
      2018-10-26 03:45:55.003316 | centos-7 | )}
      2018-10-26 03:45:55.003357 | centos-7 |
      2018-10-26 03:45:55.003442 | centos-7 | Puppet::PreformattedError:
      2018-10-26 03:45:55.003975 | centos-7 | Evaluation Error: Error while evaluating a Function Call, undefined local variable or method `created' for Puppet::Pops::Loader::RubyLegacyFunctionInstantiator:Class (file: /home/zuul/workspace/spec/fixtures/modules/mysql/manifests/server.pp, line: 52, column: 14) on node centos-7-rax-ord-0000030381
      2018-10-26 03:45:55.004198 | centos-7 | Shared Example Group: "nova::db::mysql_api" called from ./spec/classes/nova_db_mysql_api_spec.rb:81
      2018-10-26 03:45:55.004425 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb:36:in `create'
      2018-10-26 03:45:55.004629 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/module_loaders.rb:263:in `instantiate'
      2018-10-26 03:45:55.004818 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/module_loaders.rb:237:in `find'
      2018-10-26 03:45:55.005017 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/base_loader.rb:161:in `internal_load'
      2018-10-26 03:45:55.005220 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/base_loader.rb:42:in `load_typed'
      2018-10-26 03:45:55.005423 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/base_loader.rb:153:in `internal_load'
      2018-10-26 03:45:55.005613 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/base_loader.rb:42:in `load_typed'
      2018-10-26 03:45:55.005786 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/loader/loader.rb:72:in `load'
      2018-10-26 03:45:55.005997 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/runtime3_support.rb:302:in `call_function'
      2018-10-26 03:45:55.006234 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:964:in `call_function_with_block'
      2018-10-26 03:45:55.006478 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:933:in `eval_CallNamedFunctionExpression'
      2018-10-26 03:45:55.006655 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
      2018-10-26 03:45:55.006853 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
      2018-10-26 03:45:55.007079 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:370:in `eval_AssignmentExpression'
      2018-10-26 03:45:55.007274 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
      2018-10-26 03:45:55.007510 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
      2018-10-26 03:45:55.007792 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `block in eval_BlockExpression'
      2018-10-26 03:45:55.007989 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `each'
      2018-10-26 03:45:55.008202 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `reduce'
      2018-10-26 03:45:55.008425 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `eval_BlockExpression'
      2018-10-26 03:45:55.008602 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
      2018-10-26 03:45:55.008799 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
      2018-10-26 03:45:55.008997 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'
      2018-10-26 03:45:55.009196 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:32:in `evaluate'
      2018-10-26 03:45:55.009419 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:72:in `block (2 levels) in evaluate'
      2018-10-26 03:45:55.009617 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:71:in `catch'
      2018-10-26 03:45:55.009824 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:71:in `block in evaluate'
      2018-10-26 03:45:55.010005 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:70:in `catch'
      2018-10-26 03:45:55.010205 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:70:in `evaluate'
      2018-10-26 03:45:55.010387 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast.rb:31:in `safeevaluate'
      2018-10-26 03:45:55.010571 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/resource/type.rb:136:in `evaluate_code'
      2018-10-26 03:45:55.010762 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/resource.rb:79:in `block in evaluate'
      2018-10-26 03:45:55.010960 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
      2018-10-26 03:45:55.011130 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler.rb:51:in `profile'
      2018-10-26 03:45:55.011338 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/resource.rb:71:in `evaluate'
      2018-10-26 03:45:55.011517 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:386:in `each'
      2018-10-26 03:45:55.011708 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:386:in `evaluate_classes'
      2018-10-26 03:45:55.011886 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/functions/include.rb:48:in `include'
      2018-10-26 03:45:55.012072 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/dispatch.rb:60:in `invoke'
      2018-10-26 03:45:55.012303 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'
      2018-10-26 03:45:55.012502 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/dispatcher.rb:42:in `catch'
      2018-10-26 03:45:55.012699 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/dispatcher.rb:42:in `dispatch'
      2018-10-26 03:45:55.012899 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/function.rb:46:in `block in call'
      2018-10-26 03:45:55.013083 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/function.rb:45:in `catch'
      2018-10-26 03:45:55.013279 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/functions/function.rb:45:in `call'
      2018-10-26 03:45:55.013381 | centos-7 | # :1:in `block in call_function'
      2018-10-26 03:45:55.013579 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/runtime3_support.rb:305:in `eval'
      2018-10-26 03:45:55.013807 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'
      2018-10-26 03:45:55.014018 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
      2018-10-26 03:45:55.014204 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler.rb:51:in `profile'
      2018-10-26 03:45:55.014422 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'
      2018-10-26 03:45:55.014654 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:964:in `call_function_with_block'
      2018-10-26 03:45:55.014896 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:933:in `eval_CallNamedFunctionExpression'
      2018-10-26 03:45:55.015073 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
      2018-10-26 03:45:55.015296 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
      2018-10-26 03:45:55.015538 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `block in eval_BlockExpression'
      2018-10-26 03:45:55.015733 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `each'
      2018-10-26 03:45:55.015931 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `reduce'
      2018-10-26 03:45:55.016151 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:660:in `eval_BlockExpression'
      2018-10-26 03:45:55.016343 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
      2018-10-26 03:45:55.016546 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
      2018-10-26 03:45:55.016612 | centos-7 | # :in `stack'
      2018-10-26 03:45:55.016784 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/puppet_stack.rb:33:in `eval'
      2018-10-26 03:45:55.016958 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/puppet_stack.rb:33:in `stack'
      2018-10-26 03:45:55.017199 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:737:in `eval_Program'
      2018-10-26 03:45:55.017385 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
      2018-10-26 03:45:55.017585 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
      2018-10-26 03:45:55.017784 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'
      2018-10-26 03:45:55.017973 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast/pops_bridge.rb:125:in `evaluate'
      2018-10-26 03:45:55.018148 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/ast.rb:31:in `safeevaluate'
      2018-10-26 03:45:55.018345 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/resource/type.rb:136:in `evaluate_code'
      2018-10-26 03:45:55.018540 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/resource.rb:79:in `block in evaluate'
      2018-10-26 03:45:55.018743 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
      2018-10-26 03:45:55.018917 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler.rb:51:in `profile'
      2018-10-26 03:45:55.019093 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/resource.rb:71:in `evaluate'
      2018-10-26 03:45:55.019312 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:592:in `evaluate_main'
      2018-10-26 03:45:55.019532 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:166:in `block (2 levels) in compile'
      2018-10-26 03:45:55.019732 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
      2018-10-26 03:45:55.019904 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler.rb:51:in `profile'
      2018-10-26 03:45:55.020095 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:166:in `block in compile'
      2018-10-26 03:45:55.020281 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/context.rb:65:in `override'
      2018-10-26 03:45:55.020440 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet.rb:260:in `override'
      2018-10-26 03:45:55.020616 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:155:in `compile'
      2018-10-26 03:45:55.020790 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/parser/compiler.rb:35:in `compile'
      2018-10-26 03:45:55.021019 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/indirector/catalog/compiler.rb:303:in `block (2 levels) in compile'
      2018-10-26 03:45:55.021231 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
      2018-10-26 03:45:55.021407 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util/profiler.rb:51:in `profile'
      2018-10-26 03:45:55.021619 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/indirector/catalog/compiler.rb:301:in `block in compile'
      2018-10-26 03:45:55.021795 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util.rb:232:in `block in benchmark'
      2018-10-26 03:45:55.021917 | centos-7 | # /usr/share/ruby/benchmark.rb:296:in `realtime'
      2018-10-26 03:45:55.022079 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/util.rb:231:in `benchmark'
      2018-10-26 03:45:55.022286 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/indirector/catalog/compiler.rb:299:in `compile'
      2018-10-26 03:45:55.022495 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/indirector/catalog/compiler.rb:54:in `block in find'
      2018-10-26 03:45:55.022693 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/node/environment.rb:450:in `with_text_domain'
      2018-10-26 03:45:55.022885 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/indirector/catalog/compiler.rb:53:in `find'
      2018-10-26 03:45:55.023068 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/indirector/indirection.rb:198:in `find'
      2018-10-26 03:45:55.023312 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/support.rb:218:in `block in build_catalog_without_cache'
      2018-10-26 03:45:55.023480 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet/context.rb:65:in `override'
      2018-10-26 03:45:55.023634 | centos-7 | # ./.bundled_gems/gems/puppet-5.5.7/lib/puppet.rb:260:in `override'
      2018-10-26 03:45:55.023850 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/support.rb:216:in `build_catalog_without_cache'
      2018-10-26 03:45:55.024066 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/support.rb:231:in `block in build_catalog'
      2018-10-26 03:45:55.024258 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/cache.rb:17:in `call'
      2018-10-26 03:45:55.024435 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/cache.rb:17:in `get'
      2018-10-26 03:45:55.024628 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/support.rb:230:in `build_catalog'
      2018-10-26 03:45:55.024821 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/support.rb:28:in `load_catalogue'
      2018-10-26 03:45:55.025041 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/example/class_example_group.rb:7:in `catalogue'
      2018-10-26 03:45:55.025249 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/support.rb:8:in `block in subject'
      2018-10-26 03:45:55.025458 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/matchers/create_generic.rb:82:in `call'
      2018-10-26 03:45:55.025669 | centos-7 | # ./.bundled_gems/gems/rspec-puppet-2.3.2/lib/rspec-puppet/matchers/create_generic.rb:82:in `matches?'
      2018-10-26 03:45:55.025854 | centos-7 | # ./spec/classes/nova_db_mysql_api_spec.rb:19:in `block (4 levels) in <top (required)>'
      2018-10-26 03:45:55.025891 | centos-7 |
      

      Attachments

        Issue Links

          Activity

            People

              josh Josh Cooper
              mwhahaha Alex Schultz
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support