Issue #22817 has been updated by Chad Huneycutt.
I should have picked up on the activesupport/storedconfigs connection from the trace, but I am a little dense sometimes. When I disable storedconfigs, the problem goes away. I shouldn't be using activerecord storedconfigs anymore anyway, right? I am willing to help debug this more if you want to track it down, or I will just update my setup to use puppetdb. For the record, here are some other relevant versions: ruby-1.8.7.352-10.el6_4.x86_64 ruby-rgen-0.6.5-1.el6.noarch *** LOCAL GEMS *** activerecord (2.3.16) activesupport (2.3.16) daemon_controller (1.1.5) json (1.5.5) passenger (4.0.19) rack (1.5.2) rake (10.1.0) ---------------------------------------- Bug #22817: enabling future parser breaks puppet - "Do not add methods to model classes directly..." https://projects.puppetlabs.com/issues/22817#change-98698 * Author: Chad Huneycutt * Status: Needs More Information * Priority: Normal * Assignee: * Category: * Target version: * Affected Puppet version: * Keywords: * Branch: ---------------------------------------- After enabling the future parser, agent runs fail with "Could not parse for environment X: Do not add methods to model classes directly, add them to the ClassModule instead on node foo.bar" This happens even with an empty node definition. up-to-date RHEL6.4 on master and agent with puppet 3.3.1 from puppetlabs repo The master is run via apache+passenger. puppet.conf on master: <pre> [main] dbadapter = mysql dbuser = puppet dbpassword = myultrasecretpassword dbserver = localhost dbsocket = /var/lib/mysql/mysql.sock [master] vardir = /var/lib/puppetmaster ssldir = /var/lib/puppetmaster/ssl rundir = /var/run/puppet autosign = true modulepath = /etc/puppet/environments/$environment/modules:/etc/puppet/environments/common/modules manifest = /etc/puppet/environments/$environment/site.pp hiera_config = /etc/puppet/hiera.yaml reports = log, foreman # set default env for unconfigured nodes environment = infrastructure storeconfigs = true parser = future </pre> puppet.conf on agent: <pre> [agent] server = trantor.vm vardir = /var/lib/puppet ssldir = $vardir/ssl report = true pluginsync = true environment = research </pre> site.pp: <pre> node default { } </pre> Here's the master trace: <pre> Error: Could not parse for environment research: Do not add methods to model classes directly, add them to the ClassModule instead on node anacreon.vm /usr/lib/ruby/site_ruby/rgen/metamodel_builder.rb:198:in `method_added' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method_chain' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:142:in `included' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:140:in `class_eval' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:140:in `included' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:15:in `include' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:15:in `MMMultiple' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:14:in `instance_eval' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:14:in `MMMultiple' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:12:in `each' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:12:in `MMMultiple' /usr/lib/ruby/site_ruby/rgen/ecore/ecore.rb:20 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:184:in `require' /usr/lib/ruby/site_ruby/rgen/transformer.rb:1 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:184:in `require' /usr/lib/ruby/site_ruby/rgen/ecore/ruby_to_ecore.rb:1 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:184:in `require' /usr/lib/ruby/site_ruby/rgen/ecore/ecore_interface.rb:22:in `ecore' /usr/lib/ruby/site_ruby/1.8/puppet/pops/containment.rb:28:in `eAllContents' /usr/lib/ruby/site_ruby/1.8/puppet/pops/containment.rb:20:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/pops/validation/checker3_1.rb:39:in `validate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/e_parser_adapter.rb:61:in `validate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/e_parser_adapter.rb:38:in `parse' /usr/lib/ruby/site_ruby/1.8/puppet/node/environment.rb:468:in `perform_initial_import' /usr/lib/ruby/site_ruby/1.8/puppet/node/environment.rb:219:in `known_resource_types' /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/node/environment.rb:216:in `known_resource_types' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type_collection_helper.rb:5:in `known_resource_types' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:465:in `initvars' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:202:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:29:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:29:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:88:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:86:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:182:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:308:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:181:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:85:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:45:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:197:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:140:in `do_find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:97:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:97:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:91:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:31: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:35: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:32:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:31:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:31:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:31:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:28:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:28:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:27:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:139:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:289:in `start_webrick_master' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:205:in `main' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:165:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:457:in `plugin_hook' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:511:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:132:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:86:in `execute' /usr/bin/puppet:4 Error: Could not parse for environment research: Do not add methods to model classes directly, add them to the ClassModule instead on node anacreon.vm Error: Could not parse for environment research: Do not add methods to model classes directly, add them to the ClassModule instead on node anacreon.vm /usr/lib/ruby/site_ruby/rgen/metamodel_builder.rb:198:in `method_added' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method_chain' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:142:in `included' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:140:in `class_eval' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:140:in `included' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:15:in `include' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:15:in `MMMultiple' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:14:in `instance_eval' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:14:in `MMMultiple' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:12:in `each' /usr/lib/ruby/site_ruby/rgen/metamodel_builder/mm_multiple.rb:12:in `MMMultiple' /usr/lib/ruby/site_ruby/rgen/ecore/ecore.rb:20 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:184:in `require' /usr/lib/ruby/site_ruby/rgen/transformer.rb:1 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:184:in `require' /usr/lib/ruby/site_ruby/rgen/ecore/ruby_to_ecore.rb:1 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.16/lib/active_support/dependencies.rb:184:in `require' /usr/lib/ruby/site_ruby/rgen/ecore/ecore_interface.rb:22:in `ecore' /usr/lib/ruby/site_ruby/1.8/puppet/pops/containment.rb:28:in `eAllContents' /usr/lib/ruby/site_ruby/1.8/puppet/pops/containment.rb:20:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/pops/validation/checker3_1.rb:39:in `validate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/e_parser_adapter.rb:61:in `validate' /usr/lib/ruby/site_ruby/1.8/puppet/parser/e_parser_adapter.rb:38:in `parse' /usr/lib/ruby/site_ruby/1.8/puppet/node/environment.rb:468:in `perform_initial_import' /usr/lib/ruby/site_ruby/1.8/puppet/node/environment.rb:219:in `known_resource_types' /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/node/environment.rb:216:in `known_resource_types' /usr/lib/ruby/site_ruby/1.8/puppet/resource/type_collection_helper.rb:5:in `known_resource_types' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:465:in `initvars' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:202:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:29:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:29:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:88:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:86:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:182:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:308:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:181:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:85:in `compile' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:45:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:197:in `find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:140:in `do_find' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:97:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:97:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:91:in `process' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:31: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:35: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:32:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:31:in `initialize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:31:in `new' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:31:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:28:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:28:in `listen' /usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:27:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:139:in `start' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:289:in `start_webrick_master' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:205:in `main' /usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:165:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:457:in `plugin_hook' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:511:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:364:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:132:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:86:in `execute' /usr/bin/puppet:4 </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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.
