Red Hat Bugzilla – Bug 1253134
(LoadError) cannot load such file -- workers/event_catcher_openstack on adding openstack provider
Last modified: 2015-12-08 08:26:55 EST
Description of problem: Version-Release number of selected component (if applicable): master.20150706021142_4037e35 How reproducible: 100% Steps to Reproduce: 1.Navigate to infrastructure->provider 2.Add openstack provider 3. Actual results: cannot load such file -- workers/ems_refresh_worker_openstack (LoadError) displayed in Evm.log Expected results: Additional info: evm.log: . (called from block in tsort_each at /opt/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:226) [----] I, [2015-08-13T00:29:07.123761 #385:749988] INFO -- : MIQ(Vmdb::Loggers.apply_config) Log level for vim.log has been changed to [WARN] DEPRECATION WARNING: You did not specify a `log_level` in `production.rb`. Currently, the default value for `log_level` is `:info` for the production environment and `:debug` in all other environments. In Rails 5 the default value will be unified to `:debug` across all environments. To preserve the current setting, add the following line to your `production.rb`: config.log_level = :info . (called from block in tsort_each at /opt/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:226) [----] I, [2015-08-13T00:29:07.987899 #366:98f990] INFO -- : MIQ(Vmdb::Initializer.init) - Program Name: /var/www/miq/vmdb/bin/rails, PID: 366, ENV['MIQ_GUID']: d36c8f58-4173-11e5-9f3e-005056965976, ENV['EVMSERVER']: true [----] I, [2015-08-13T00:29:08.560931 #385:749988] INFO -- : MIQ(Vmdb::Initializer.init) - Program Name: /var/www/miq/vmdb/bin/rails, PID: 385, ENV['MIQ_GUID']: d3db1388-4173-11e5-9f3e-005056965976, ENV['EVMSERVER']: true /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- workers/ems_refresh_worker_openstack (LoadError) from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `block in require' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240:in `load_dependency' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require' from /var/www/miq/vmdb/lib/workers/bin/worker.rb:2:in `<top (required)>' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/runner.rb:60:in `load' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/runner.rb:60:in `<top (required)>' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:123:in `require' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:123:in `require_command!' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:90:in `runner' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:39:in `run_command!' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands.rb:17:in `<top (required)>' from /var/www/miq/vmdb/bin/rails:4:in `require' from /var/www/miq/vmdb/bin/rails:4:in `<main>' /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- workers/event_catcher_openstack (LoadError) from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `block in require' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240:in `load_dependency' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require' from /var/www/miq/vmdb/lib/workers/bin/worker.rb:2:in `<top (required)>' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/runner.rb:60:in `load' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/runner.rb:60:in `<top (required)>' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:123:in `require' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:123:in `require_command!' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:90:in `runner' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:39:in `run_command!' from /opt/rubies/ruby-2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.3/lib/rails/commands.rb:17:in `<top (required)>' from /var/www/miq/vmdb/bin/rails:4:in `require' from /var/www/miq/vmdb/bin/rails:4:in `<main>'
https://github.com/ManageIQ/manageiq/pull/4052
New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/d4ced59ee99063cee244dfe3e81af98c97acd9e8 commit d4ced59ee99063cee244dfe3e81af98c97acd9e8 Author: Greg Blomquist <gblomqui@redhat.com> AuthorDate: Tue Aug 25 16:11:13 2015 -0400 Commit: Greg Blomquist <gblomqui@redhat.com> CommitDate: Thu Aug 27 09:14:52 2015 -0400 [Namespacing] Ensure that workers require runners If workers do not `require_dependency` their runners, the `const_defined?(:Runner, false)` call in `corresponding_runner` will fail to find the appropriate runner class when starting up the worker. This results in finding the "legacy" worker runner. For instace, with the legacy MiqEventCatcherOpenstack, the corresponding runner used to be 'workers/event_catcher_openstack'. However, after the namespacing of OpenStack CloudManager, the worker is ManageIQ::Providers::Openstack::CloudManager::EventCatcher and the corresponding runner is ManageIQ::Providers::Openstack::CloudManager::EventCatcher::Runner. When `corresponding_runner` fails to find the appropriately namespaced runner class, it throws errors like: > (LoadError) cannot load such file -- workers/event_catcher_openstack on adding > openstack provider (Upstream only) https://bugzilla.redhat.com/show_bug.cgi?id=1253134 .../configuration_manager/refresh_worker.rb | 2 ++ .../foreman/provisioning_manager/refresh_worker.rb | 2 ++ .../openstack/cloud_manager/event_catcher.rb | 2 ++ .../cloud_manager/metrics_collector_worker.rb | 2 ++ .../openstack/cloud_manager/refresh_worker.rb | 2 ++ .../openstack/infra_manager/event_catcher.rb | 2 ++ .../infra_manager/event_catcher/runner.rb | 2 +- .../infra_manager/metrics_collector_worker.rb | 2 ++ .../openstack/infra_manager/refresh_worker.rb | 2 ++ spec/models/miq_worker_spec.rb | 30 ++++++++++++++++++++++ 10 files changed, 47 insertions(+), 1 deletion(-)
New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/25c6dd53564a0ea528dc0df04ebdd31c47758bbb commit 25c6dd53564a0ea528dc0df04ebdd31c47758bbb Author: Greg Blomquist <gblomqui@redhat.com> AuthorDate: Tue Aug 25 16:17:35 2015 -0400 Commit: Greg Blomquist <gblomqui@redhat.com> CommitDate: Thu Aug 27 09:14:52 2015 -0400 [Namespacing] Fix namespaced EventCatcherMixin The EventCatcherMixin for Openstack was located at: `manageiq/providers/openstack/event_catcher_mixin.rb` But, the namespaced classname was: `ManageIQ::Providers::Openstack::CloudManager::EventCatcherMixin` I'm guessing that this may have been changed after the OpenStack Infra Manager was namespaced. (Upstream only) https://bugzilla.redhat.com/show_bug.cgi?id=1253134 app/models/manageiq/providers/openstack/event_catcher_mixin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
https://github.com/ManageIQ/manageiq/pull/4128
https://github.com/ManageIQ/manageiq/pull/3978
https://github.com/ManageIQ/manageiq/pull/4262
No error displayed on adding openstack infra provider. Verified: 5.5.0.11-rc1.20151117182049_653c0d4
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2015:2551