Upgrade to Red Hat Satellite 6.13 fails with error '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0]
Environment
- Red Hat Satellite 6.12
Issue
-
While upgrading to Red Hat Satellite 6.13, the upgrade fails with the following backtrace in
/var/log/foreman-installer/satellite.log:2023-12-27 14:03:16 [ERROR ] [configure] '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0] 2023-12-27 14:03:16 [ERROR ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: change from 'notrun' to ['0'] failed: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0] 2023-12-27 14:03:16 [DEBUG ] [configure] Exec[foreman-rake-db:migrate](provider=posix): Executing check '/usr/sbin/foreman-rake db:abort_if_pending_migrations' 2023-12-27 14:03:16 [DEBUG ] [configure] Executing with uid=foreman: '/usr/sbin/foreman-rake db:abort_if_pending_migrations' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: rake aborted! 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: NameError: uninitialized constant ActionController::LogSubscriber 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/foreman_hooks-0.3.17/lib/foreman_hooks/as_dependencies_hook.rb:4:in `load_missing_constant' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/foreman/config/initializers/0_custom_logging.rb:12:in `block in <top (required)>' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/foreman/config/initializers/0_custom_logging.rb:12:in `select' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/foreman/config/initializers/0_custom_logging.rb:12:in `<top (required)>' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/engine.rb:681:in `block in load_config_initializer' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/activesupport-6.1.7/lib/active_support/notifications.rb:205:in `instrument' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/engine.rb:680:in `load_config_initializer' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/engine.rb:634:in `block (2 levels) in <class:Engine>' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/engine.rb:633:in `each' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/engine.rb:633:in `block in <class:Engine>' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/initializable.rb:32:in `instance_exec' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/initializable.rb:32:in `run' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/initializable.rb:61:in `block in run_initializers' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/initializable.rb:50:in `each' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/initializable.rb:50:in `tsort_each_child' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/initializable.rb:60:in `run_initializers' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/application.rb:391:in `initialize!' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/railtie.rb:207:in `public_send' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/railtie.rb:207:in `method_missing' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/foreman/config/environment.rb:5:in `<top (required)>' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/application.rb:367:in `require_environment!' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/railties-6.1.7/lib/rails/application.rb:533:in `block in run_tasks_blocks' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: /usr/share/gems/gems/rake-13.0.1/exe/rake:27:in `<top (required)>' 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: Tasks: TOP => db:abort_if_pending_migrations => db:load_config => environment 2023-12-27 14:03:26 [DEBUG ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless: (See full trace by running task with --trace)
Resolution
-
Follow the steps in the Diagnostic Steps section of this KB solution. If the
/usr/share/foreman/config/initializers/0_custom_logging.rband/usr/share/foreman/lib/foreman/customized_log_subscriber.rbfiles exist on the Satellite server, proceed with the next steps. -
Move the file
/usr/share/foreman/config/initializers/0_custom_logging.rboff the/usr/share/foreman/config/initializers/directory. -
Move the file
/usr/share/foreman/lib/foreman/customized_log_subscriber.rboff the/usr/share/foreman/lib/foreman/directory. -
Retry the upgrade.
For more KB articles/solutions related to Red Hat Satellite 6.x Installation/Upgrade/Update Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Installation/Upgrade/Update Issues.
Root Cause
On a standard Red Hat Satellite 6.12 setup, the /usr/share/foreman/config/initializers/0_custom_logging.rb and /usr/share/foreman/lib/foreman/customized_log_subscriber.rb files do not exist by default on the Satellite server.
Diagnostic Steps
-
Check if the file
/usr/share/foreman/config/initializers/0_custom_logging.rbexists on the Satellite server:# ls /usr/share/foreman/config/initializers/0_custom_logging.rb -
Check if the file
/usr/share/foreman/lib/foreman/customized_log_subscriber.rbexists on the Satellite server:# ls /usr/share/foreman/lib/foreman/customized_log_subscriber.rb
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.