Bug #21505
closedruby-smart-proxy-dynflow-core missing Gem rest-client
Description
After installing ruby-smart-proxy-dynflow-core, the foreman-proxy does not start up and throws the following error.
Oct 30 11:10:22 dummy1.test.com systemd[1]: Starting Foreman Proxy... -- Subject: Unit foreman-proxy.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit foreman-proxy.service has begun starting up. Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: /usr/lib/ruby/vendor_ruby/bundler_ext/output.rb:13:in `strict_err': Gem loading error: cannot load such file -- rest-client (RuntimeE Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:46:in `rescue in block in system_require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:39:in `block in system_require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:37:in `each' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext/runtime.rb:37:in `system_require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:19:in `block in system_require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `each' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/vendor_ruby/bundler_ext.rb:14:in `system_require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/share/foreman-proxy/lib/bundler_helper.rb:22:in `require_groups' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/share/foreman-proxy/lib/smart_proxy_main.rb:33:in `<top (required)>' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' Oct 30 11:10:22 dummy1.test.com smart-proxy[22455]: from /usr/share/foreman-proxy/bin/smart-proxy:5:in `<main>' Oct 30 11:10:22 dummy1.test.com systemd[1]: foreman-proxy.service: Control process exited, code=exited status=1 Oct 30 11:10:22 dummy1.test.com systemd[1]: Failed to start Foreman Proxy.
This started happening after installing ruby-smart-proxy-remote-execution-ssh. Following are the packages that were installed at the time.
dpkg -l | grep "ruby-foreman\|ruby-smart-proxy" ii ruby-foreman-deface 1.2.0-1 all Foreman Deface Plugin Dependency ii ruby-foreman-remote-execution 1.3.7-1 all Foreman Remote Execution Plugin ii ruby-foreman-remote-execution-core 1.0.5-1 all Foreman remote execution - core bits ii ruby-foreman-tasks 0.9.6-1 all Tasks management engine for Foreman. ii ruby-foreman-tasks-core 0.1.4-1 all Foreman tasks - core bits ii ruby-foreman-templates 5.0.1-1 all Foreman Templates Plugin ii ruby-smart-proxy-dynflow 0.1.8-1 all Dynflow runtime for Foreman smart proxy ii ruby-smart-proxy-dynflow-core 0.1.6-1 all Dynflow runtime for Foreman smart proxy ii ruby-smart-proxy-remote-execution-ssh 0.1.5-1 all SSH remote execution provider for Foreman smart proxy
So to isolate the issue, I've trying starting up the foreman-proxy after removing each package.
- Removed ruby-smart-proxy-remote-execution-ssh, restarted foreman-proxy FAILED.
- Removed ruby-foreman-remote-execution-core, restarted foreman-proxy FAILED.
- Removed ruby-smart-proxy-dynflow, restarted foreman-proxy FAILED.
- Removed ruby-smart-proxy-dynflow-core, restarted foreman-proxy SUCCESS.
This narrows it down to ruby-smart-proxy-dynflow-core.
Workaround¶
I've installed the Gem manually by running {{gem install rest-client}} and then it works with the above packages installed.
Updated by Ivan Necas almost 7 years ago
What version of foreman we are talking about?
Updated by Venushka Perera almost 7 years ago
Ivan Necas wrote:
What version of foreman we are talking about?
Sorry forgot to include it. Its 1.15. These are the foreman packages I have installed.
# dpkg -l | grep foreman ii foreman 1.15.6-1 amd64 Systems management web interface ii foreman-debug 1.15.6-1 all provides support utility foreman-debug. ii foreman-mysql2 1.15.6-1 all metapackage providing mysql2 dependencies for Foreman ii foreman-openstack 1.15.6-1 all metapackage providing OpenStack dependencies for Foreman ii foreman-proxy 1.15.6-1 all RESTful proxies for DNS, DHCP, TFTP, and Puppet ii foreman-vmware 1.15.6-1 all metapackage providing vmware dependencies for Foreman ii ruby-foreman-deface 1.2.0-1 all Foreman Deface Plugin Dependency ii ruby-foreman-remote-execution 1.3.7-1 all Foreman Remote Execution Plugin ii ruby-foreman-remote-execution-core 1.0.5-1 all Foreman remote execution - core bits ii ruby-foreman-tasks 0.9.6-1 all Tasks management engine for Foreman. ii ruby-foreman-tasks-core 0.1.4-1 all Foreman tasks - core bits ii ruby-foreman-templates 5.0.1-1 all Foreman Templates Plugin
Updated by Ewoud Kohl van Wijngaarden almost 7 years ago
And is the ruby rest client package installed as well? If so, which version?
Updated by Venushka Perera almost 7 years ago
Ewoud Kohl van Wijngaarden wrote:
And is the ruby rest client package installed as well? If so, which version?
I don't have rest-client installed. When I install rest-client (2.0.2) it works fine.
These are the things I had installed when the error occurred. I can easily reproduce this issue by uninstalling rest-client. I guess a require rest-client is missing in ruby-smart-proxy-dynflow-core somewhere?
# ruby --version ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
# gem list *** LOCAL GEMS *** algebrick (0.7.3) apipie-params (0.0.5) bigdecimal (1.2.8) bundler (1.11.2) bundler_ext (0.4.1) concurrent-ruby (1.0.0) deep_merge (1.0.1) did_you_mean (1.0.0) domain_name (0.5.20170404) dynflow (0.8.30) ffi (1.9.10) foreman-tasks-core (0.1.4) foreman_remote_execution_core (1.0.5) gssapi (1.2.0) hiera (2.0.0) http-cookie (1.0.3) io-console (0.4.5) json (1.8.3) mime-types (3.1) mime-types-data (3.2016.0521) minitest (5.8.4) molinillo (0.4.3) multi_json (1.11.2) net-http-persistent (2.9.4) net-scp (1.2.1) net-ssh (3.0.1) net-telnet (0.1.1) netrc (0.11.0) oj (2.12.10) pg (0.18.4) power_assert (0.2.7) psych (2.0.17) rack (1.6.4) rack-protection (1.5.3) rake (10.5.0) rb-inotify (0.9.7) rdoc (4.2.1) rkerberos (0.1.3) ruby-libvirt (0.6.0) rubyipmi (0.10.0) sequel (4.32.0) sequel_pg (1.6.14) sinatra (1.4.7) smart_proxy_dynflow (0.1.8) smart_proxy_remote_execution_ssh (0.1.5) sqlite3 (1.3.11) test-unit (3.1.7) thor (0.19.1) tilt (2.0.1) unf (0.1.4) unf_ext (0.0.7.4)
Updated by Anonymous almost 7 years ago
- Project changed from Foreman Remote Execution to Packaging
- Category changed from Smart Proxy Dynflow to Debian/Ubuntu
- Status changed from New to Ready For Testing
- Assignee set to Anonymous
- Pull request https://github.com/theforeman/foreman-packaging/pull/1899, https://github.com/theforeman/foreman-packaging/pull/1900 added
Updated by Anonymous almost 7 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset foreman-packaging|34f050251e7d83d81b319b248b81a70b16560d0a.
Updated by Venushka Perera almost 7 years ago
Anonymous wrote:
Applied in changeset foreman-packaging|34f050251e7d83d81b319b248b81a70b16560d0a.
Tried installing ruby-smart-proxy-dynflow-core and it now brings in ruby-rest-client automatically!
Thank you for getting this fixed so quickly!
Updated by The Foreman Bot over 6 years ago
- Pull request https://github.com/theforeman/foreman-packaging/pull/2055 added
Updated by The Foreman Bot over 6 years ago
- Pull request https://github.com/theforeman/foreman-packaging/pull/2053 added