Bug 1313033 - bug in parsing of targets
Summary: bug in parsing of targets
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: C&U Capacity and Utilization
Version: 5.5.0
Hardware: All
OS: All
unspecified
high
Target Milestone: GA
: 5.6.0
Assignee: Greg Blomquist
QA Contact: Dave Johnson
URL:
Whiteboard: c&u
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-29 19:06 UTC by Felix Dewaleyne
Modified: 2019-10-10 11:22 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-01 16:55:32 UTC
Category: ---
Cloudforms Team: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Felix Dewaleyne 2016-02-29 19:06:27 UTC
Description of problem:
in 5.5.0 and 5.5.2, the handling of an exception creates a cascade of issues regarding the collection of performance data

Version-Release number of selected component (if applicable):
5.5.0 and 5.5.2

How reproducible:
customer environment only

Steps to Reproduce:
1. deploy one appliance
2. use a scvmm, vmware, azure, amazon, openstack provider each (small environments)
3. enable performance collection

Actual results:
the following trace causes the interruption of all performance capture :

[----] I, [2016-02-29T03:08:20.304407 #13515:e4f994]  INFO -- : MIQ(MiqQueue.put_or_update) Message id: [4201000002602406],  id: [], Zone: [default], Role: [ems_metrics_collector], Server: [], Ident: [], Target id: [], Instance id: [4201
000000000068], Task id: [], Command: [ManageIQ::Providers::Microsoft::InfraManager::Host.perf_capture], Timeout: [600], Priority: [100], State: [ready], Deliver On: [], Data: [], Args: ["realtime"], Requeued
[----] E, [2016-02-29T03:08:20.405466 #13515:e4f994] ERROR -- : MIQ(MiqQueue#deliver) Message id: [4201000002940378], Error: [undefined method `metrics_collector_queue_name' for nil:NilClass]
[----] E, [2016-02-29T03:08:20.405662 #13515:e4f994] ERROR -- : [NoMethodError]: undefined method `metrics_collector_queue_name' for nil:NilClass  Method:[rescue in deliver]
[----] E, [2016-02-29T03:08:20.406202 #13515:e4f994] ERROR -- : /var/www/miq/vmdb/app/models/metric/ci_mixin/capture.rb:19:in `queue_name_for_metrics_collection'
/var/www/miq/vmdb/app/models/metric/ci_mixin/capture.rb:69:in `perf_capture_queue'
/var/www/miq/vmdb/app/models/metric/capture.rb:127:in `block in perf_capture_timer'
/var/www/miq/vmdb/app/models/metric/capture.rb:112:in `each'
/var/www/miq/vmdb/app/models/metric/capture.rb:112:in `perf_capture_timer'
/var/www/miq/vmdb/app/models/miq_queue.rb:345:in `block in deliver'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:89:in `block in timeout'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `block in catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:104:in `timeout'
/var/www/miq/vmdb/app/models/miq_queue.rb:341:in `deliver'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:106:in `deliver_queue_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:151:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:145:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:145:in `do_work'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:334:in `block in do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:153:in `run'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:128:in `start'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:29:in `start_worker'
/var/www/miq/vmdb/lib/workers/bin/worker.rb:2:in `<top (required)>'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/runner.rb:60:in `load'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/runner.rb:60:in `<top (required)>'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:123:in `require'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:90:in `runner'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
/var/www/miq/vmdb/bin/rails:4:in `require'
/var/www/miq/vmdb/bin/rails:4:in `<main>'



Expected results:
the exception does not stop the collection for all providers covered by the appliance

Additional info:
this is a single appliance to cover a lot of providers, which may be part of the issue here, but the handling of the error likely is the cause of all performance collection and this looks to be a bug in error handling.
trace is from 5.5.2

Comment 1 Felix Dewaleyne 2016-02-29 19:08:33 UTC
the trace isn't caused by a single provider (scvmm in the exemple) but also vmware :

[----] D, [2016-02-28T03:34:56.694328 #12941:3c198c] DEBUG -- : MIQ(ManageIQ::Providers::Vmware::InfraManager::HostEsx#perf_capture_queue) Skipping capture of ManageIQ::Providers::Vmware::InfraManager::HostEsx name: [vm4281.rwegroup.cz],
 id: [4251000000000016] - Performance last captured on [2016-02-28 02:29:20 UTC] is within threshold
[----] E, [2016-02-28T03:34:56.694769 #12941:3c198c] ERROR -- : MIQ(MiqQueue#deliver) Message id: [4251000002557624], Error: [undefined method `metrics_collector_queue_name' for nil:NilClass]
[----] E, [2016-02-28T03:34:56.694883 #12941:3c198c] ERROR -- : [NoMethodError]: undefined method `metrics_collector_queue_name' for nil:NilClass  Method:[rescue in deliver]
[----] E, [2016-02-28T03:34:56.695096 #12941:3c198c] ERROR -- : /var/www/miq/vmdb/app/models/metric/ci_mixin/capture.rb:19:in `queue_name_for_metrics_collection'
/var/www/miq/vmdb/app/models/metric/ci_mixin/capture.rb:69:in `perf_capture_queue'
/var/www/miq/vmdb/app/models/metric/capture.rb:127:in `block in perf_capture_timer'
/var/www/miq/vmdb/app/models/metric/capture.rb:112:in `each'
/var/www/miq/vmdb/app/models/metric/capture.rb:112:in `perf_capture_timer'
/var/www/miq/vmdb/app/models/miq_queue.rb:345:in `block in deliver'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:89:in `block in timeout'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `block in catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:34:in `catch'
/opt/rh/rh-ruby22/root/usr/share/ruby/timeout.rb:104:in `timeout'
/var/www/miq/vmdb/app/models/miq_queue.rb:341:in `deliver'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:106:in `deliver_queue_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:134:in `deliver_message'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:151:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:145:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:145:in `do_work'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:334:in `block in do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:331:in `do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:153:in `run'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:128:in `start'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:29:in `start_worker'
/var/www/miq/vmdb/lib/workers/bin/worker.rb:2:in `<top (required)>'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/runner.rb:60:in `load'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/runner.rb:60:in `<top (required)>'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:123:in `require'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:90:in `runner'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/opt/rh/cfme-gemset/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
/var/www/miq/vmdb/bin/rails:4:in `require'
/var/www/miq/vmdb/bin/rails:4:in `<main>'

the customer uses  another appliance for each of his environments (dev and production) which use the same providers.

Comment 9 Felix Dewaleyne 2016-03-01 16:55:32 UTC
customer was likely using a 4.0 beta as an installation and applied an update for 5.5.2 to the appliance - real history of the appliance is unknown and lost - this issue is likely due to the schema version being incorrect and since the beta isn't supported, I'm closing this as  not a bug


Note You need to log in before you can comment on or make changes to this bug.