Bug #1510

storeconfig fails with Rails 2.1

Added by Brice Figureau over 3 years ago. Updated over 3 years ago.

Status:Closed Start date:08/13/2008
Priority:Normal Due date:
Assignee:Brice Figureau % Done:

0%

Category:Rails
Target version:0.24.6
Affected Puppet version:0.24.5 Branch:
Keywords:
Votes: 0

Description

On debian lenny/sid with Ruby on Rails 2.1, the puppetmaster fails with:

err: Puppet::Parser::Compiler failed with error NameError: uninitialized constant ParamValue on node corp2.daysofwonder.com

with the following stack trace:

/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:278:in `load_missing_constant'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:467:in `const_missing'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:479:in `const_missing'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/inflector.rb:283:in `constantize'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/core_ext/string/inflections.rb:143:in `constantize'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1635:in `remove_duplicate_results!'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1624:in `each'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1624:in `remove_duplicate_results!'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1621:in `remove_duplicate_results!'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1620:in `each'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1620:in `remove_duplicate_results!'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1608:in `instantiate'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1251:in `find_with_associations'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1248:in `catch'
/usr/share/rails/activerecord/lib/active_record/associations.rb:1248:in `find_with_associations'
/usr/share/rails/activerecord/lib/active_record/base.rb:1339:in `find_every'
/usr/share/rails/activerecord/lib/active_record/base.rb:536:in `find'
/usr/lib/ruby/1.8/puppet/parser/collector.rb:90:in `collect_exported'
/usr/lib/ruby/1.8/puppet/util.rb:445:in `thinmark'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
/usr/lib/ruby/1.8/puppet/util.rb:444:in `thinmark'
/usr/lib/ruby/1.8/puppet/parser/collector.rb:89:in `collect_exported'
/usr/lib/ruby/1.8/puppet/parser/collector.rb:28:in `send'
/usr/lib/ruby/1.8/puppet/parser/collector.rb:28:in `evaluate'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:256:in `evaluate_collections'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:255:in `each'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:255:in `evaluate_collections'
/usr/lib/ruby/1.8/puppet/util/errors.rb:25:in `exceptwrap'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:251:in `evaluate_collections'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:294:in `evaluate_generators'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:290:in `loop'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:290:in `evaluate_generators'
/usr/lib/ruby/1.8/puppet/parser/compiler.rb:93:in `compile'
/usr/lib/ruby/1.8/puppet/parser/interpreter.rb:29:in `compile'
/usr/lib/ruby/1.8/puppet/indirector/catalog/compiler.rb:68:in `compile'
/usr/lib/ruby/1.8/puppet/util.rb:212:in `benchmark'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
/usr/lib/ruby/1.8/puppet/util.rb:211:in `benchmark'
/usr/lib/ruby/1.8/puppet/indirector/catalog/compiler.rb:66:in `compile'
/usr/lib/ruby/1.8/puppet/indirector/catalog/compiler.rb:21:in `find'
/usr/lib/ruby/1.8/puppet/indirector/indirection.rb:210:in `find'
/usr/lib/ruby/1.8/puppet/indirector.rb:49:in `find'
/usr/lib/ruby/1.8/puppet/network/handler/master.rb:64:in `getconfig'
/usr/share/rails/activerecord/lib/../../activesupport/lib/active_support/inflector.rb:283:in `to_proc'
/usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `call'
/usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `protect_service'
/usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:85:in `setup_processor'
/usr/lib/ruby/1.8/xmlrpc/server.rb:336:in `call'
/usr/lib/ruby/1.8/xmlrpc/server.rb:336:in `dispatch'
/usr/lib/ruby/1.8/xmlrpc/server.rb:323:in `each'
/usr/lib/ruby/1.8/xmlrpc/server.rb:323:in `dispatch'
/usr/lib/ruby/1.8/xmlrpc/server.rb:366:in `call_method'
/usr/lib/ruby/1.8/xmlrpc/server.rb:378:in `handle'
/usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in `process'
/usr/lib/ruby/1.8/puppet/network/xmlrpc/webrick_servlet.rb:68: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/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/1.8/puppet.rb:293:in `start'
/usr/lib/ruby/1.8/puppet.rb:144:in `newthread'
/usr/lib/ruby/1.8/puppet.rb:143:in `initialize'
/usr/lib/ruby/1.8/puppet.rb:143:in `new'
/usr/lib/ruby/1.8/puppet.rb:143:in `newthread'
/usr/lib/ruby/1.8/puppet.rb:291:in `start'
/usr/lib/ruby/1.8/puppet.rb:290:in `each'
/usr/lib/ruby/1.8/puppet.rb:290:in `start'
/usr/sbin/puppetmasterd:285

For an unknown reason, rails has difficulty to find Puppet::Rails::ParamValue. The workaround is to tell rails how to associate some association with real class names.


Related issues

related to Puppet - Bug #1518: Puppet::Parser::Compiler failed with error NameError: uni... Closed 08/18/2008

History

Updated by Brice Figureau over 3 years ago

masterzen wrote:

On debian lenny/sid with Ruby on Rails 2.1, the puppetmaster fails with: […] with the following stack trace: […]

For an unknown reason, rails has difficulty to find Puppet::Rails::ParamValue. The workaround is to tell rails how to associate some association with real class names.

See my github masterzen/puppet repository branch tickets/1510 for a workaround (tested on debian lenny/sid): http://github.com/masterzen/puppet/tree/tickets%2F1510 or the direct commit: http://github.com/masterzen/puppet/commit/affe496c4b5033a4e05d0e32dab60daac4832b93

Updated by James Turnbull over 3 years ago

  • Status changed from Unreviewed to Needs Decision
  • Assignee set to Luke Kanies

Updated by Luke Kanies over 3 years ago

  • Status changed from Needs Decision to Ready For Checkin
  • Assignee changed from Luke Kanies to James Turnbull

Looks good to me.

Updated by James Turnbull over 3 years ago

  • Status changed from Ready For Checkin to Code Insufficient

This commit is against HEAD – can you rebase against 0.24.x please.

Updated by James Turnbull over 3 years ago

  • Assignee changed from James Turnbull to Brice Figureau

Updated by Brice Figureau over 3 years ago

jamtur01 wrote:

This commit is against HEAD – can you rebase against 0.24.x please.

I cherry-picked the changeset from the branch against head to a branch against your 0.24.x own branch: http://github.com/masterzen/puppet/commits/tickets/0.24.x/1510/ Commit: http://github.com/masterzen/puppet/commit/4e14384822d874caf12d412561bb17199a54699a

Let me know if that doesn’t work, I had to increase my git knowledge to produce this and it might have failed.

Updated by James Turnbull over 3 years ago

  • Status changed from Code Insufficient to Closed

Pushed in commit:f48a0ae in branch 0.24.x

Also available in: Atom PDF