Bug 1379419 - Traceback in chargeback report for sub-tenant filter
Summary: Traceback in chargeback report for sub-tenant filter
Keywords:
Status: CLOSED DUPLICATE of bug 1370422
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Reporting
Version: 5.6.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: GA
: cfme-future
Assignee: Šimon Lukašík
QA Contact: Pavol Kotvan
URL:
Whiteboard: tenant:chargeback
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-26 16:40 UTC by Tsai Li Ming
Modified: 2016-12-13 22:15 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-13 22:15:14 UTC
Category: ---
Cloudforms Team: CFME Core
Target Upstream Version:


Attachments (Terms of Use)

Description Tsai Li Ming 2016-09-26 16:40:53 UTC
Description of problem:
A traceback happen when a chargeback has a filter for sub-tenant

Version-Release number of selected component (if applicable):
CF 4.1.1

How reproducible:
Always

Steps to Reproduce:
1. Create a sub-tenant
2. Create a user and group. Assign  the role EvmRole-user_self_service and sub-tenant to the group.
3. Provision a vm and observe the owner/group is assigned correctly. In my case, it is:
Owner 	Juan Dela Cruz
Group 	retail_user_self_service 
4. Create a chargeback report with the following chargeback filter:
show cost by: Tenant
Tenant: Retail
Group by: date
5. Wait for some metrics data
6. Generate a report on demand

When the group has no vm, the exception does not occur.


Actual results:
Chargeback report not generated.

Expected results:
Chargeback report should be generated

Additional info:
[----] E, [2016-09-27T00:30:09.202718 #3569:100598c] ERROR -- : [NoMethodError]: undefined method `name' for nil:NilClass  Method:[rescue in _async_generate_table]
[----] E, [2016-09-27T00:30:09.207004 #3569:100598c] ERROR -- : /var/www/miq/vmdb/app/models/chargeback_vm.rb:93:in `get_keys_and_extra_fields'
/var/www/miq/vmdb/app/models/chargeback.rb:45:in `block (2 levels) in build_results_for_report_chargeback'
/opt/rh/cfme-gemset/gems/activerecord-5.0.0/lib/active_record/relation/delegation.rb:38:in `each'
/opt/rh/cfme-gemset/gems/activerecord-5.0.0/lib/active_record/relation/delegation.rb:38:in `each'
/var/www/miq/vmdb/app/models/chargeback.rb:43:in `block in build_results_for_report_chargeback'
/var/www/miq/vmdb/app/models/chargeback.rb:34:in `each'
/var/www/miq/vmdb/app/models/chargeback.rb:34:in `each_cons'
/var/www/miq/vmdb/app/models/chargeback.rb:34:in `build_results_for_report_chargeback'
/var/www/miq/vmdb/app/models/chargeback_vm.rb:85:in `build_results_for_report_ChargebackVm'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:201:in `_generate_table'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:176:in `block in generate_table'
/var/www/miq/vmdb/app/models/user.rb:280:in `with_user'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:176:in `generate_table'
/var/www/miq/vmdb/app/models/miq_report/generator/async.rb:96:in `_async_generate_table'
/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: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: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:21:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:347:in `block in start'
/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:345:in `start'
/var/www/miq/vmdb/app/models/miq_worker.rb:274:in `start_worker'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `block in sync_workers'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `times'
/var/www/miq/vmdb/app/models/miq_worker.rb:154:in `sync_workers'
/var/www/miq/vmdb/app/models/miq_server/worker_management/monitor.rb:52: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:362:in `block in monitor'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30:in `realtime_block'
/var/www/miq/vmdb/app/models/miq_server.rb:362:in `monitor'
/var/www/miq/vmdb/app/models/miq_server.rb:382:in `block (2 levels) in monitor_loop'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/var/www/miq/vmdb/gems/pending/util/extensions/miq-benchmark.rb:30: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:266:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:65:in `start'
/var/www/miq/vmdb/lib/workers/evm_server.rb:92:in `start'

Comment 2 Šimon Lukašík 2016-12-13 22:12:07 UTC
This has been fixed a while ago.

Upstream commit 102227572e339abcd02bbd53d958d5e8dd019d27
Upstream pr https://github.com/manageiq/manageiq/pull/10812


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