Bug 1767747 - C&U collection for VMWare shows error `undefined method `+' for nil:NilClass Method:[block in method_missing]`
Summary: C&U collection for VMWare shows error `undefined method `+' for nil:NilClass ...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: C&U Capacity and Utilization
Version: 5.9.7
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: GA
: 5.12.0
Assignee: Adam Grare
QA Contact: Nandini Chandra
Red Hat CloudForms Documentation
URL:
Whiteboard:
Depends On:
Blocks: 1785374
TreeView+ depends on / blocked
 
Reported: 2019-11-01 10:20 UTC by Khushbu Borole
Modified: 2023-03-24 15:52 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1785374 (view as bug list)
Environment:
Last Closed: 2020-06-10 12:57:02 UTC
Category: Bug
Cloudforms Team: VMware
Target Upstream Version:
Embargoed:
mfeifer: mirror+


Attachments (Terms of Use)

Description Khushbu Borole 2019-11-01 10:20:27 UTC
Description of problem:
C&U collection for VMWare shows error 'undefined method `+' for nil:NilClass  Method:[block in method_missing]`
The CU configured the environment for the workaround resolution[Refer Bug 1759927] by moving VMWare provider into other zone and configured the C&U for the same.
But while C&U rollup the logs mark the following error

ERROR:
~~~
[----] I, [2019-10-30T18:00:20.658102 #21792:715110]  INFO -- : Exception in realtime_block :total_time - Timings: {:db_find_prev_perf=>0.0033957958221435547, :rollup_perfs=>0.0853414535522461, :total_time=>0.08
875584602355957}
[----] E, [2019-10-30T18:00:20.659172 #21792:715110] ERROR -- : MIQ(MiqQueue#deliver) Message id: [10000060380710], Error: [undefined method `+' for nil:NilClass]
[----] E, [2019-10-30T18:00:20.659354 #21792:715110] ERROR -- : [NoMethodError]: undefined method `+' for nil:NilClass  Method:[block in method_missing]
[----] E, [2019-10-30T18:00:20.659407 #21792:715110] ERROR -- : /var/www/miq/vmdb/app/models/ext_management_system.rb:578:in `get_reserve'
/var/www/miq/vmdb/app/models/ext_management_system.rb:582:in `cpu_reserve'
/var/www/miq/vmdb/app/models/miq_enterprise.rb:80:in `block in get_reserve'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/relation/delegation.rb:38:in `each'
/opt/rh/cfme-gemset/gems/activerecord-5.0.6/lib/active_record/relation/delegation.rb:38:in `each'
/var/www/miq/vmdb/app/models/miq_enterprise.rb:80:in `inject'
/var/www/miq/vmdb/app/models/miq_enterprise.rb:80:in `get_reserve'
/var/www/miq/vmdb/app/models/miq_enterprise.rb:84:in `cpu_reserve'
/opt/rh/cfme-gemset/gems/activesupport-5.0.6/lib/active_support/core_ext/object/try.rb:17:in `public_send'
/opt/rh/cfme-gemset/gems/activesupport-5.0.6/lib/active_support/core_ext/object/try.rb:17:in `try!'
/opt/rh/cfme-gemset/gems/activesupport-5.0.6/lib/active_support/core_ext/object/try.rb:6:in `try'
/var/www/miq/vmdb/app/models/vim_performance_state.rb:228:in `capture_reserve'
/var/www/miq/vmdb/app/models/vim_performance_state.rb:69:in `capture'
/var/www/miq/vmdb/app/models/vim_performance_state.rb:53:in `capture'
/var/www/miq/vmdb/app/models/metric/ci_mixin/capture.rb:264:in `perf_capture_state'
/var/www/miq/vmdb/app/models/metric/ci_mixin/state_finders.rb:24:in `vim_performance_state_for_ts'
/var/www/miq/vmdb/app/models/metric/rollup.rb:299:in `block in rollup_child_metrics'
/var/www/miq/vmdb/app/models/metric/rollup.rb:297:in `each'
/var/www/miq/vmdb/app/models/metric/rollup.rb:297:in `rollup_child_metrics'
/var/www/miq/vmdb/app/models/metric/rollup.rb:205:in `block in rollup_hourly'
/var/www/miq/vmdb/app/models/metric/rollup.rb:205:in `each'
/var/www/miq/vmdb/app/models/metric/rollup.rb:205:in `rollup_hourly'
/var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:96:in `block (2 levels) in perf_rollup'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'
/var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:95:in `block in perf_rollup'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:35:in `realtime_block'
/var/www/miq/vmdb/app/models/metric/ci_mixin/rollup.rb:82:in `perf_rollup'
/var/www/miq/vmdb/app/models/miq_queue.rb:453:in `block in dispatch_method'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:91:in `block in timeout'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:33:in `block in catch'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:33:in `catch'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:33:in `catch'
/opt/rh/rh-ruby23/root/usr/share/ruby/timeout.rb:106:in `timeout'
/var/www/miq/vmdb/app/models/miq_queue.rb:452:in `dispatch_method'
/var/www/miq/vmdb/app/models/miq_queue.rb:429:in `block in deliver'
/var/www/miq/vmdb/app/models/user.rb:269:in `with_user_group'
/var/www/miq/vmdb/app/models/miq_queue.rb:429:in `deliver'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:104: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:152:in `block in do_work'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `loop'
/var/www/miq/vmdb/app/models/miq_queue_worker_base/runner.rb:146:in `do_work'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:329:in `block in do_work_loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:326:in `loop'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:326: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:127:in `start'
/var/www/miq/vmdb/app/models/miq_worker/runner.rb:22:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:376:in `block in start_runner_via_fork'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/opt/rh/cfme-gemset/gems/nakayoshi_fork-0.0.3/lib/nakayoshi_fork.rb:24:in `fork'
/var/www/miq/vmdb/app/models/miq_worker.rb:374:in `start_runner_via_fork'
/var/www/miq/vmdb/app/models/miq_worker.rb:368:in `start_runner'
/var/www/miq/vmdb/app/models/miq_worker.rb:415:in `start'
/var/www/miq/vmdb/app/models/miq_worker.rb:266:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:153:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_worker.rb:153:in `times'
/var/www/miq/vmdb/app/models/miq_worker.rb:153:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:53:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `each'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:50:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:22:in `monitor_workers'
/var/www/miq/vmdb/app/models/miq_server.rb:343:in `block in monitor'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:28:in `realtime_block'
/var/www/miq/vmdb/app/models/miq_server.rb:343:in `monitor'
/var/www/miq/vmdb/app/models/miq_server.rb:382:in `block (2 levels) in monitor_loop'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-0cee44cbcd3f/lib/gems/pending/util/extensions/miq-benchmark.rb:35:in `realtime_block'
/var/www/miq/vmdb/app/models/miq_server.rb:382:in `block in monitor_loop'
/var/www/miq/vmdb/app/models/miq_server.rb:381:in `loop'
/var/www/miq/vmdb/app/models/miq_server.rb:381:in `monitor_loop'
/var/www/miq/vmdb/app/models/miq_server.rb:244:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:27:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:48:in `start'
~~~

Comment 7 Adam Grare 2019-11-05 15:17:56 UTC
This is another symptom of having the Nuage provider there.  Harder to fix because the rollup from miq_enterprise -> miq_regions -> ext_management_systems doesn't support checking for infra_manager or cloud_manager and we assume that 'hosts' is able to be called on any EMS.

Comment 10 CFME Bot 2019-11-07 14:00:45 UTC
New commit detected on ManageIQ/manageiq/master:

https://github.com/ManageIQ/manageiq/commit/c475153112c9325abe123967e6be31d2c9646946
commit c475153112c9325abe123967e6be31d2c9646946
Author:     Adam Grare <agrare>
AuthorDate: Tue Nov  5 10:38:31 2019 -0500
Commit:     Adam Grare <agrare>
CommitDate: Tue Nov  5 10:38:31 2019 -0500

    Return empty array for delegation with nil manager

    If a NetworkManager doesn't have a parent_manager (e.g. Nuage) return an empty array instead of a nil

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1767747
 app/models/manageiq/providers/network_manager.rb | 74 +-
 spec/models/manageiq/providers/network_manager_spec.rb | 37 +-
 2 files changed, 59 insertions(+), 52 deletions(-)


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