Project

General

Profile

Bug #28726

Installing dhcp_isc and dhcp_remote_isc fails with "You cannot specify the same gem twice with different version requirements.....You specified: rsec (< 1) and rsec (>= 0)"

Added by Si Man 11 months ago. Updated 7 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Packaging
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:

Description

Fix was to edit the foreman-proxy/bundler.d/dhcp_isc.rb lines 2 & 11 and replace "gem 'rsec', '< 1'" with "gem 'rsec', '>= 0'"

Grep for "gem 'rsec', '>= 0'" did not find anything however.

Can anyone else confirm this issue?

Relevant entry from foreman.log :

[ERROR 2020-01-12T21:32:39 main] Systemd start for foreman-proxy failed!
[ERROR 2020-01-12T21:32:39 main] journalctl log for foreman-proxy:
[ERROR 2020-01-12T21:32:39 main] -- Logs begin at Sun 2020-01-12 21:25:52 AEDT, end at Sun 2020-01-12 21:32:39 AEDT. --
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host systemd1: Starting Foreman Proxy...
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: /usr/share/foreman-proxy/Gemfile.in:12:in `instance_eval': You cannot specify the same gem twice with different version requirements. (Bundler::GemfileError)
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: You specified: rsec (< 1) and rsec (>= 0)
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from (eval):2:in `block (2 levels) in eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:157:in `group'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from (eval):1:in `block in eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/Gemfile.in:12:in `instance_eval'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/Gemfile.in:12:in `block in eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/Gemfile.in:11:in `each'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/Gemfile.in:11:in `eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:32:in `instance_eval'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:32:in `eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:10:in `evaluate'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/gems/gems/bundler_ext-0.4.1/lib/bundler_ext/gemfile.rb:46:in `parse'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/gems/gems/bundler_ext-0.4.1/lib/bundler_ext.rb:14:in `system_require'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/lib/bundler_helper.rb:22:in `require_groups'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/lib/smart_proxy_main.rb:31:in `<top (required)>'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host smart-proxy5232: from /usr/share/foreman-proxy/bin/smart-proxy:5:in `<main>'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host systemd1: foreman-proxy.service: main process exited, code=exited, status=1/FAILURE
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host systemd1: Failed to start Foreman Proxy.
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host systemd1: Unit foreman-proxy.service entered failed state.
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:29:36 foreman.test.host systemd1: foreman-proxy.service failed.
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:38 foreman.test.host systemd1: Starting Foreman Proxy...
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: /usr/share/foreman-proxy/Gemfile.in:12:in `instance_eval': You cannot specify the same gem twice with different version requirements. (Bundler::GemfileError)
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: You specified: rsec (< 1) and rsec (>= 0)
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from (eval):2:in `block (2 levels) in eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:157:in `group'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from (eval):1:in `block in eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/Gemfile.in:12:in `instance_eval'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/Gemfile.in:12:in `block in eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/Gemfile.in:11:in `each'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/Gemfile.in:11:in `eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:32:in `instance_eval'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:32:in `eval_gemfile'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/gems/gems/bundler-1.7.8/lib/bundler/dsl.rb:10:in `evaluate'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/gems/gems/bundler_ext-0.4.1/lib/bundler_ext/gemfile.rb:46:in `parse'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/gems/gems/bundler_ext-0.4.1/lib/bundler_ext.rb:14:in `system_require'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/lib/bundler_helper.rb:22:in `require_groups'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/lib/smart_proxy_main.rb:31:in `<top (required)>'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host smart-proxy7387: from /usr/share/foreman-proxy/bin/smart-proxy:5:in `<main>'
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host systemd1: foreman-proxy.service: main process exited, code=exited, status=1/FAILURE
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host systemd1: Failed to start Foreman Proxy.
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host systemd1: Unit foreman-proxy.service entered failed state.
[ERROR 2020-01-12T21:32:39 main] Jan 12 21:32:39 foreman.test.host systemd1: foreman-proxy.service failed.
[ERROR 2020-01-12T21:32:39 main]
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/systemd.rb:162:in `rescue in start'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/service/systemd.rb:158:in `start'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:108:in `block (3 levels) in <module:Puppet>'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:491:in `set'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:568:in `sync'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/service.rb:119:in `sync'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:239:in `sync'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:134:in `sync_if_needed'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:80:in `perform_changes'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluate'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:259:in `apply'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:279:in `eval_resource'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `call'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `block (2 levels) in evaluate'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:519:in `block in thinmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:518:in `thinmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `block in evaluate'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:121:in `traverse'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:173:in `evaluate'
[ERROR 2020-01-12T21:32:39 main] /usr/share/gems/gems/kafo-4.0.0/modules/kafo_configure/lib/puppet/parser/functions/add_progress.rb:30:in `evaluate_with_trigger'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:239:in `block (2 levels) in apply'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:519:in `block in thinmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:518:in `thinmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:238:in `block in apply'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:161:in `with_destination'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:146:in `as_logging_destination'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:237:in `apply'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:186:in `block (2 levels) in apply_catalog'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:519:in `block in thinmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:518:in `thinmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:185:in `block in apply_catalog'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:232:in `block in benchmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:231:in `benchmark'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:184:in `apply_catalog'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:366:in `run_internal'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:234:in `block in run'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:211:in `run'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:355:in `apply_catalog'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:280:in `block (2 levels) in main'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:280:in `block in main'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:233:in `main'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:174:in `run_command'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:375:in `block in run'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:667:in `exit_on_fail'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:375:in `run'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:139:in `run'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'
[ERROR 2020-01-12T21:32:39 main] /opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
[ERROR 2020-01-12T21:32:39 main] /Stage[main]/Foreman_proxy::Service/Service[foreman-proxy]/ensure: change from 'stopped' to 'running' failed: Systemd start for foreman-proxy failed!


Related issues

Related to Smart Proxy - Refactor #28482: Compatibility with rsec 1.xNew

History

#1 Updated by Si Man 11 months ago

So it appears the issue is caused when foreman_proxy::plugin::dhcp::remote_isc is installed with dhcp as foreman-proxy/bundler.d/dhcp_remote_isc.rb line 2 is just "gem 'rsec'", which must default to >= 0. An alternate fix is to change this line to "gem 'rsec', '< 1'" as also listed in foreman-proxy/bundler.d/dhcp_isc.rb....or remove the version specified in dhcp_isc.rb altogether.

#2 Updated by Si Man 11 months ago

  • Priority changed from High to Normal

#3 Updated by Si Man 11 months ago

  • Subject changed from Upgrade from 1.22.2 to 1.24.1 (via 1.23.1) fails with "You cannot specify the same gem twice with different version requirements.....You specified: rsec (< 1) and rsec (>= 0)" to Installing dhcp_isc and dhcp_remote_isc fails with "You cannot specify the same gem twice with different version requirements.....You specified: rsec (< 1) and rsec (>= 0)"

#4 Updated by Anonymous 11 months ago

#5 Updated by Anonymous 11 months ago

Is https://github.com/theforeman/smart-proxy/commit/dbc4f0104ae29776fcc9c8de2c8a2ac0e662000e included in your foreman-proxy source (1.24.1 should have it, 1.24.0 not)? Is this a packaged installation? If yes, DEB or RPM?

#6 Updated by Ewoud Kohl van Wijngaarden 11 months ago

So the plugin is hosted at https://github.com/theforeman/smart_proxy_dhcp_remote_isc and I'm wondering if this is the problem:

https://github.com/theforeman/smart_proxy_dhcp_remote_isc/blob/0963f5e23ae8e52c232f581c09042616e3e2eb4f/bundler.d/dhcp_remote_isc.rb#L1-L3

Why doesn't the plugin specify rsec as a runtime dependency of the gem itself? That would solve it.

#7 Updated by Anonymous 11 months ago

  • Assignee set to Anonymous
  • Status changed from New to Ready For Testing
  • Category set to Packaging
  • Project changed from Installer to Smart Proxy
  • Pull request https://github.com/theforeman/smart_proxy_dhcp_remote_isc/pull/3 added

#8 Updated by Anonymous 7 months ago

  • Status changed from Ready For Testing to Resolved

Also available in: Atom PDF