Bug #32929
closedUnable to restart or reboot service/system after update in content hosts / traces
Description
Steps to reproduce
1) Update service or kernel on a machine
2) tracer picks up a required restart or reboot
3) go into content hosts / node / traces, select host and press restart
This should send a restart service or reboot via ssh remote exec but this never happens and leads to this error "Oops, we're sorry but something went wrong no implicit conversion of nil into String"
2021-07-01T14:22:21 [I|app|42351f7f] Started POST "/katello/remote_execution" for x.x.x.x at 2021-07-01 14:22:21 +0200 2021-07-01T14:22:21 [I|app|42351f7f] Processing by Katello::RemoteExecutionController#create as HTML 2021-07-01T14:22:21 [I|app|42351f7f] Parameters: {"remote_action"=>"service_restart", "name"=>"sudo systemctl restart gssproxy", "host_ids"=>"17", "customize"=>"false", "authenticity_token"=>"xxx"} 2021-07-01T14:22:21 [W|app|42351f7f] no implicit conversion of nil into String 2021-07-01T14:22:21 [I|app|42351f7f] Backtrace for 'no implicit conversion of nil into String' error (TypeError): no implicit conversion of nil into String 42351f7f | /usr/share/ruby/json/common.rb:156:in `initialize' 42351f7f | /usr/share/ruby/json/common.rb:156:in `new' 42351f7f | /usr/share/ruby/json/common.rb:156:in `parse' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/json/decoding.rb:23:in `decode' 42351f7f | /usr/share/gems/gems/katello-4.1.0/app/controllers/katello/remote_execution_controller.rb:34:in `hosts' 42351f7f | /usr/share/gems/gems/katello-4.1.0/app/controllers/katello/remote_execution_controller.rb:30:in `prepare_composer' 42351f7f | /usr/share/gems/gems/katello-4.1.0/app/controllers/katello/remote_execution_controller.rb:12:in `create' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/abstract_controller/base.rb:195:in `process_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal/rendering.rb:30:in `process_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/abstract_controller/callbacks.rb:42:in `block in process_action' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:112:in `block in run_callbacks' 42351f7f | /usr/share/foreman/app/controllers/concerns/foreman/controller/timezone.rb:10:in `set_timezone' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:121:in `block in run_callbacks' 42351f7f | /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:121:in `block in run_callbacks' 42351f7f | /usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in `set_topbar_sweeper_controller' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:121:in `block in run_callbacks' 42351f7f | /usr/share/gems/gems/audited-4.9.0/lib/audited/sweeper.rb:14:in `around' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:121:in `block in run_callbacks' 42351f7f | /usr/share/gems/gems/audited-4.9.0/lib/audited/sweeper.rb:14:in `around' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:121:in `block in run_callbacks' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:139:in `run_callbacks' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/abstract_controller/callbacks.rb:41:in `process_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal/rescue.rb:22:in `process_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal/instrumentation.rb:33:in `block in process_action' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/notifications.rb:180:in `block in instrument' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/notifications/instrumenter.rb:24:in `instrument' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/notifications.rb:180:in `instrument' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal/instrumentation.rb:32:in `process_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal/params_wrapper.rb:245:in `process_action' 42351f7f | /usr/share/gems/gems/activerecord-6.0.3.7/lib/active_record/railties/controller_runtime.rb:27:in `process_action' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/abstract_controller/base.rb:136:in `process' 42351f7f | /usr/share/gems/gems/actionview-6.0.3.7/lib/action_view/rendering.rb:39:in `process' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal.rb:190:in `dispatch' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_controller/metal.rb:254:in `dispatch' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/routing/route_set.rb:50:in `dispatch' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/routing/route_set.rb:33:in `serve' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/journey/router.rb:49:in `block in serve' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/journey/router.rb:32:in `each' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/journey/router.rb:32:in `serve' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/routing/route_set.rb:834:in `call' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/engine.rb:527:in `call' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/railtie.rb:190:in `public_send' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/railtie.rb:190:in `method_missing' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/routing/mapper.rb:48:in `serve' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/journey/router.rb:49:in `block in serve' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/journey/router.rb:32:in `each' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/journey/router.rb:32:in `serve' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/routing/route_set.rb:834:in `call' 42351f7f | /usr/share/gems/gems/katello-4.1.0/lib/katello/middleware/organization_created_enforcer.rb:18:in `call' 42351f7f | /usr/share/gems/gems/katello-4.1.0/lib/katello/middleware/event_daemon.rb:10:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/apipie-dsl-2.4.0/lib/apipie_dsl/static_dispatcher.rb:67:in `call' 42351f7f | /usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/static_dispatcher.rb:66:in `call' 42351f7f | /usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/extractor/recorder.rb:137:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/foreman/lib/foreman/middleware/telemetry.rb:10:in `call' 42351f7f | /usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/middleware/checksum_in_headers.rb:27:in `call' 42351f7f | /usr/share/foreman/lib/foreman/middleware/catch_json_parse_errors.rb:9:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/etag.rb:27:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/conditional_get.rb:40:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/head.rb:12:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/http/content_security_policy.rb:18:in `call' 42351f7f | /usr/share/foreman/lib/foreman/middleware/logging_context_session.rb:22:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/cookies.rb:648:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:101:in `run_callbacks' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/callbacks.rb:26:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/rack/logger.rb:37:in `call_app' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/rack/logger.rb:28:in `call' 42351f7f | /usr/share/gems/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call' 42351f7f | /usr/share/foreman/lib/foreman/middleware/logging_context_request.rb:11:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/remote_ip.rb:81:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/request_id.rb:27:in `call' 42351f7f | /usr/share/gems/gems/katello-4.1.0/lib/katello/prevent_json_parsing.rb:12:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/method_override.rb:24:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/runtime.rb:22:in `call' 42351f7f | /usr/share/gems/gems/activesupport-6.0.3.7/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/executor.rb:14:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/static.rb:126:in `call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/sendfile.rb:110:in `call' 42351f7f | /usr/share/gems/gems/actionpack-6.0.3.7/lib/action_dispatch/middleware/host_authorization.rb:76:in `call' 42351f7f | /usr/share/gems/gems/secure_headers-6.3.0/lib/secure_headers/middleware.rb:11:in `call' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/engine.rb:527:in `call' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/railtie.rb:190:in `public_send' 42351f7f | /usr/share/gems/gems/railties-6.0.3.7/lib/rails/railtie.rb:190:in `method_missing' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/urlmap.rb:74:in `block in call' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/urlmap.rb:58:in `each' 42351f7f | /usr/share/gems/gems/rack-2.2.3/lib/rack/urlmap.rb:58:in `call' 42351f7f | /usr/share/gems/gems/puma-5.3.2/lib/puma/configuration.rb:249:in `call' 42351f7f | /usr/share/gems/gems/puma-5.3.2/lib/puma/request.rb:77:in `block in handle_request' 42351f7f | /usr/share/gems/gems/puma-5.3.2/lib/puma/thread_pool.rb:338:in `with_force_shutdown' 42351f7f | /usr/share/gems/gems/puma-5.3.2/lib/puma/request.rb:76:in `handle_request' 42351f7f | /usr/share/gems/gems/puma-5.3.2/lib/puma/server.rb:438:in `process_client' 42351f7f | /usr/share/gems/gems/puma-5.3.2/lib/puma/thread_pool.rb:145:in `block in spawn_thread' 42351f7f | /usr/share/gems/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context' 2021-07-01T14:22:21 [I|app|42351f7f] Rendering common/500.html.erb within layouts/application 2021-07-01T14:22:21 [I|app|42351f7f] Rendered common/500.html.erb within layouts/application (Duration: 10.4ms | Allocations: 8236) 2021-07-01T14:22:21 [I|app|42351f7f] Rendered layouts/_application_content.html.erb (Duration: 5.1ms | Allocations: 7612) 2021-07-01T14:22:21 [I|app|42351f7f] Rendering layouts/base.html.erb 2021-07-01T14:22:21 [I|app|42351f7f] Rendered layouts/base.html.erb (Duration: 7.6ms | Allocations: 10393) 2021-07-01T14:22:21 [I|app|42351f7f] Completed 500 Internal Server Error in 64ms (Views: 30.1ms | ActiveRecord: 3.0ms | Allocations: 50778) Foreman version: 2.5.1 Plugins: - foreman-tasks 4.1.2 - foreman_ansible 6.3.0 - foreman_azure_rm 2.2.4 - foreman_bootdisk 17.1.0 - foreman_openscap 4.3.2 - foreman_remote_execution 4.5.0 - foreman_statistics 1.1.1 - foreman_templates 9.1.0 - foreman_virt_who_configure 0.5.6 - foreman_webhooks 2.0.0 - katello 4.1.0
Updated by Sven Jansen over 3 years ago
- Found in Releases 2.5.2 added
Sven Jansen wrote:
Steps to reproduce
1) Update service or kernel on a machine
2) tracer picks up a required restart or reboot
3) go into content hosts / node / traces, select host and press restartThis should send a restart service or reboot via ssh remote exec but this never happens and leads to this error "Oops, we're sorry but something went wrong no implicit conversion of nil into String"
[...]
After Updating Foreman to 2.5.2 this error changed, trying to execute restart or reboot from tracer give a new error:
1: Error initializing command: NoMethodError - undefined method `prune_known_hosts!' for ForemanRemoteExecutionCore::Utils:Module
2: Did you mean? prune_known_hosts
3: Exit status: EXCEPTION
Updated by Evgeni Golov over 3 years ago
- Project changed from Foreman to Katello
- Found in Releases Katello 4.1.0 added
- Found in Releases deleted (
2.5.0, 2.5.1, 2.5.2)
Updated by Sven Jansen over 3 years ago
Sven Jansen wrote:
Steps to reproduce
1) Update service or kernel on a machine
2) tracer picks up a required restart or reboot
3) go into content hosts / node / traces, select host and press restartThis should send a restart service or reboot via ssh remote exec but this never happens and leads to this error "Oops, we're sorry but something went wrong no implicit conversion of nil into String"
[...]
This PR fixes the issue for me: https://github.com/theforeman/foreman_remote_execution/pull/620/commits/a1d541df2a502c091371d1fb058d0e91cb8c41cc
Updated by James Jeffers over 3 years ago
- Is duplicate of Bug #32936: Error when trying to restart Traces: TypeError in Katello::RemoteExecutionController#create no implicit conversion of nil into String added