[Pkg-puppet-devel] Bug#774643: Bug#774643: fix introduces problems for Foreman

Michael Moll kvedulv at kvedulv.de
Wed Apr 8 21:54:06 UTC 2015


Hi Apollon,

On Wed, Apr 08, 2015 at 07:26:03PM +0300, Apollon Oikonomopoulos wrote:
> The mere presence of ruby-activerecord-deprecated-finders on the system 
> should not impact foreman. What kind of problems did you encounter?

The actual output:
root at jessy:~# /usr/sbin/foreman-rake db:migrate
rake aborted!
NoMethodError: undefined method `matchers' for Method:Class
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:26:in `block in on_load'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:25:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:25:in `on_load'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/will_paginate-3.0.7/lib/will_paginate/active_record.rb:6:in `<top (required)>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/will_paginate-3.0.7/lib/will_paginate/railtie.rb:10:in `block (2 levels) in <class:Railtie>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:26:in `block in on_load'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:25:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/lazy_load_hooks.rb:25:in `on_load'
/usr/share/foreman/vendor/ruby/2.1.0/gems/will_paginate-3.0.7/lib/will_paginate/railtie.rb:9:in `block in <class:Railtie>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:30:in `instance_exec'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:30:in `run'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:54:in `each'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/initializable.rb:54:in `run_initializers'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:136:in `initialize!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/railtie/configurable.rb:30:in `method_missing'
/usr/share/foreman/config/environment.rb:12:in `<top (required)>'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
/usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:103:in `require_environment!'
/usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:305:in `block (2 levels) in initialize_tasks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

I didn't do further research and it might also have to do with our
packages using vendored gems, however after removing the said package,
it worked.

> You could add a Conflicts: ruby-activerecord-deprecated-finders, which 
> would still allow puppet from Debian proper to be installed (since 
> ruby-ar-d-f is only a Recommends).

Indeed that's working as expected, at leats when the package with the
added Conflicts line is also repo. For a first (failed) tests, I only
did edit the local dpkg database, so that's an accepable solution.

> > It should also be noted that (AFAIK) storeconfig was deprecated in
> > Puppet 3 and it's use strongly discouraged.
> 
> This has been previously discussed. In short, it's no pretty situation, 
> but we either have to support this, or break the upgrade path for many 
> setups and ask that people install activerecord 3 from rubygems.org on 
> their systems. If we can do the former without causing too much trouble, 
> IMHO we should do it.

Now that I'm seeing that wheezy only brought Puppet 2.7 I understand the
decision.

Thanks for the reply :)
-- 
Michael Moll



More information about the Pkg-puppet-devel mailing list