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' ~~~
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.
https://github.com/ManageIQ/manageiq/pull/19459
https://github.com/ManageIQ/manageiq/pull/19473
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(-)