Upgrade 3.13->3.14 'foreman-rake-db:migrate' failed., NameError: uninitialized constant ForemanNetbox::NetboxFacet

Problem:
During upgrade of Foreman with Katello from version 3.13 to 3.14 installation failed.
/usr/sbin/foreman-rake db:migrate’ returned 1 instead of one of [0]
NameError: uninitialized constant ForemanNetbox::NetboxFacet

Expected outcome:
Upgrade to Foreman 3.14

Foreman and Proxy versions:
Foreman 3.13

Foreman and Proxy plugin versions:

Distribution and version:
CentOS Stream 9, Kernel: Linux 5.14.0-585.el9.x86_64

Other relevant data:

2025-05-21 20:33:41 [NOTICE] [root] Loading installer configuration. This will take some time.
2025-05-21 20:33:44 [NOTICE] [root] Running installer with log based terminal output at level NOTICE.
2025-05-21 20:33:44 [NOTICE] [root] Use -l to set the terminal output log level to ERROR, WARN, NOTICE, INFO, or DEBUG. See --full-help for definitions.
2025-05-21 20:33:45 [NOTICE] [checks] System checks passed
2025-05-21 20:33:51 [NOTICE] [configure] Starting system configuration.
2025-05-21 20:33:59 [NOTICE] [configure] 250 configuration steps out of 1455 steps complete.
2025-05-21 20:34:00 [NOTICE] [configure] 500 configuration steps out of 1457 steps complete.
2025-05-21 20:34:03 [NOTICE] [configure] 750 configuration steps out of 1460 steps complete.
2025-05-21 20:34:03 [NOTICE] [configure] 1000 configuration steps out of 1465 steps complete.
2025-05-21 20:34:22 [ERROR ] [configure] '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0]
2025-05-21 20:34:22 [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]
2025-05-21 20:34:30 [NOTICE] [configure] 1250 configuration steps out of 1465 steps complete.
2025-05-21 20:34:45 [NOTICE] [configure] System configuration has finished.

Error 1: Puppet Exec resource 'foreman-rake-db:migrate' failed. Logs:
  /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]
    Adding autorequire relationship with User[foreman]
    Starting to evaluate the resource (1209 of 1465)
    Evaluated in 17.22 seconds
  Exec[foreman-rake-db:migrate](provider=posix)
    Executing check '/usr/sbin/foreman-rake db:abort_if_pending_migrations'
    Executing '/usr/sbin/foreman-rake db:migrate'
  /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/unless
    rake aborted!
    NameError: uninitialized constant ForemanNetbox::NetboxFacet
    Did you mean?  NetboxClientRuby
    /usr/share/gems/gems/foreman_netbox-1.2.0/lib/foreman_netbox/engine.rb:25:in `block (2 levels) in <class:Engine>'
    /usr/share/foreman/app/registries/foreman/plugin.rb:92:in `instance_eval'
    /usr/share/foreman/app/registries/foreman/plugin.rb:92:in `register'
    /usr/share/gems/gems/foreman_netbox-1.2.0/lib/foreman_netbox/engine.rb:21:in `block in <class:Engine>'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:32:in `instance_exec'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:32:in `run'
    /usr/share/foreman/config/initializers/0_print_time_spent.rb:45:in `block in run'
    /usr/share/foreman/config/initializers/0_print_time_spent.rb:17:in `benchmark'
    /usr/share/foreman/config/initializers/0_print_time_spent.rb:45:in `run'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:61:in `block in run_initializers'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:60:in `run_initializers'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/application.rb:372:in `initialize!'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/railtie.rb:226:in `public_send'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/railtie.rb:226:in `method_missing'
    /usr/share/foreman/config/environment.rb:5:in `<top (required)>'
    <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:148:in `require'
    <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:148:in `require'
    /usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
    /usr/share/gems/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in `require'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/application.rb:348:in `require_environment!'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/application.rb:506:in `block in run_tasks_blocks'
    /usr/share/gems/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    Tasks: TOP => db:abort_if_pending_migrations => db:load_config => environment
    (See full trace by running task with --trace)
  /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns
    rake aborted!
    NameError: uninitialized constant ForemanNetbox::NetboxFacet
    Did you mean?  NetboxClientRuby
    /usr/share/gems/gems/foreman_netbox-1.2.0/lib/foreman_netbox/engine.rb:25:in `block (2 levels) in <class:Engine>'
    /usr/share/foreman/app/registries/foreman/plugin.rb:92:in `instance_eval'
    /usr/share/foreman/app/registries/foreman/plugin.rb:92:in `register'
    /usr/share/gems/gems/foreman_netbox-1.2.0/lib/foreman_netbox/engine.rb:21:in `block in <class:Engine>'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:32:in `instance_exec'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:32:in `run'
    /usr/share/foreman/config/initializers/0_print_time_spent.rb:45:in `block in run'
    /usr/share/foreman/config/initializers/0_print_time_spent.rb:17:in `benchmark'
    /usr/share/foreman/config/initializers/0_print_time_spent.rb:45:in `run'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:61:in `block in run_initializers'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/initializable.rb:60:in `run_initializers'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/application.rb:372:in `initialize!'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/railtie.rb:226:in `public_send'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/railtie.rb:226:in `method_missing'
    /usr/share/foreman/config/environment.rb:5:in `<top (required)>'
    <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:148:in `require'
    <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:148:in `require'
    /usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
    /usr/share/gems/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in `require'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/application.rb:348:in `require_environment!'
    /usr/share/gems/gems/railties-7.0.8.7/lib/rails/application.rb:506:in `block in run_tasks_blocks'
    /usr/share/gems/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    Tasks: TOP => db:migrate => db:load_config => environment
    (See full trace by running task with --trace)
    change from 'notrun' to ['0'] failed: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0]

Hey @admin_hw,
this seems to need the changes for the new zeitwerk loader.
I am part of the maintainers. I look into it and create a new release.
The plugin is kind of neglected because we don’t use it our selfs anymore and have no ability to test it.

Hello @ochnerd,
thank you for your reply. I will be very grateful to be solved by maintainers. I deleted every config connection for netbox in our Foreman in the meantime and it works finally.

The new Version has been merged into foreman-packaging so the new Package foreman_netbox 2.0.0 should be available soon. We are also working on some dependecy issues but i should now be loaded correctly