Bug 1161744

Summary: Performance by Asset Type report undefined method error
Product: Red Hat CloudForms Management Engine Reporter: Jared Deubel <jdeubel>
Component: UI - OPSAssignee: Aparna Karve <akarve>
Status: CLOSED ERRATA QA Contact: Nandini Chandra <nachandr>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3.0CC: mfeifer, nachandr, snansi
Target Milestone: GA   
Target Release: 5.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.4.0.0.11 Doc Type: Bug Fix
Doc Text:
In the previous version of CloudForms Management Engine, the array that stored the reports (the children) for a particular Report tree node stored nil values in the absence of the corresponding report records. Attempts to view Performance by Asset Type report as user 'Admin', resulted in error. This issue was fixed to populate the children for a Report tree node only if the reports exist. No error appears when attempting to view Performance by Asset Type reports.
Story Points: ---
Clone Of:
: 1164034 (view as bug list) Environment:
Last Closed: 2015-06-16 12:44:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1164034    
Attachments:
Description Flags
ReportMethodError none

Description Jared Deubel 2014-11-07 18:36:07 UTC
Created attachment 955043 [details]
ReportMethodError

Description of problem:
As user Admin, when attempting to view Performance by Asset Type report an error was received: 
Error from Production.log:

[----] I, [2014-11-04T18:18:26.960687 #6510:77d008]  INFO -- : Started POST "/report/tree_autoload/xx-6_xx-6-0?tree=reports_tree" for 127.0.0.1 at 2014-11-04 12:18:26 -0600
[----] I, [2014-11-04T18:18:26.965802 #6510:77d008]  INFO -- : Processing by ReportController#tree_autoload as JS
[----] I, [2014-11-04T18:18:26.965895 #6510:77d008]  INFO -- :   Parameters: {"tree"=>"reports_tree", "id"=>"xx-6_xx-6-0"}
[----] F, [2014-11-04T18:18:27.065503 #6510:77d008] FATAL -- : Error caught: [NoMethodError] undefined method `id' for nil:NilClass
/var/www/miq/vmdb/app/controllers/application_controller/explorer.rb:1127:in `x_build_node_id'
/var/www/miq/vmdb/app/controllers/application_controller/explorer.rb:435:in `x_build_node'
/var/www/miq/vmdb/app/controllers/application_controller/explorer.rb:1159:in `block in x_get_child_nodes'
/var/www/miq/vmdb/app/controllers/application_controller/explorer.rb:1158:in `each'
/var/www/miq/vmdb/app/controllers/application_controller/explorer.rb:1158:in `x_get_child_nodes'
/var/www/miq/vmdb/app/controllers/report_controller/widgets.rb:548:in `tree_add_child_nodes'
/var/www/miq/vmdb/app/controllers/application_controller/tree_support.rb:56:in `tree_autoload'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:167:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/rendering.rb:10:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:458:in `_run__1920500038335920961__process_action__4055156404242900814__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/callbacks.rb:17:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/rescue.rb:29:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `block in instrument'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `instrument'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.13/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/base.rb:121:in `process'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/abstract_controller/rendering.rb:45:in `process'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal.rb:203:in `dispatch'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_controller/metal.rb:246:in `block in action'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:36:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/routing/route_set.rb:612:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in `invalidate'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in `call!'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/etag.rb:23:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/conditionalget.rb:35:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/head.rb:14:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/flash.rb:242:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:210:in `context'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:205:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/cookies.rb:341:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.13/lib/active_record/query_cache.rb:64:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `_run__2042085117296554077__call__4497955713651287023__callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/rack/logger.rb:32:in `call_app'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/rack/logger.rb:18:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.13/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.13/lib/action_dispatch/middleware/static.rb:63:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/engine.rb:479:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/application.rb:223:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/content_length.rb:14:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/rack/log_tailer.rb:17:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/connection.rb:80:in `block in pre_process'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/connection.rb:78:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/connection.rb:78:in `pre_process'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/connection.rb:53:in `process'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/connection.rb:38:in `receive_data'
/opt/rh/ruby193/root/usr/share/gems/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
/opt/rh/ruby193/root/usr/share/gems/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/handler/thin.rb:13:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/rack-1.4.5/lib/rack/server.rb:268:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'
script/rails:6:in `require'
script/rails:6:in `<main>'



Version-Release number of selected component (if applicable):
5.2.5.3, build=20140811145418_a290c21

How reproducible:
Was only able to reproduce in there db that they sent us at 10.10.179.228

Steps to Reproduce:
1. Navigate to Reports
2. Select Performance by Asset Type and then click on the folder below

Actual results:
Presented with a Unexpected Error on screen

Expected results:
Should allow you to select VM so that you can view the out of the box reports

Additional info:

Comment 2 CFME Bot 2014-11-14 23:05:49 UTC
New commit detected on cfme/master:
https://github.com/ManageIQ/manageiq/commit/a986a32e9a0572b8290c7587562e8b29f11c6d49

commit a986a32e9a0572b8290c7587562e8b29f11c6d49
Author:     Aparna Karve <akarve>
AuthorDate: Thu Nov 13 14:20:58 2014 -0800
Commit:     Aparna Karve <akarve>
CommitDate: Thu Nov 13 14:33:15 2014 -0800

    Populate Reports tree children for a node only if reports exists.
    
    The array that stores the reports (the children) for a particular Report
    tree node was storing nils in the absence of the corresponding MiqReport
    records, causing a "load error" in the Reports dynatree, which has
    been fixed.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1161744

 vmdb/app/controllers/application_controller/explorer.rb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comment 3 CFME Bot 2014-11-14 23:06:05 UTC
New commit detected on manageiq/master:
https://github.com/ManageIQ/manageiq/commit/a986a32e9a0572b8290c7587562e8b29f11c6d49

commit a986a32e9a0572b8290c7587562e8b29f11c6d49
Author:     Aparna Karve <akarve>
AuthorDate: Thu Nov 13 14:20:58 2014 -0800
Commit:     Aparna Karve <akarve>
CommitDate: Thu Nov 13 14:33:15 2014 -0800

    Populate Reports tree children for a node only if reports exists.
    
    The array that stores the reports (the children) for a particular Report
    tree node was storing nils in the absence of the corresponding MiqReport
    records, causing a "load error" in the Reports dynatree, which has
    been fixed.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1161744

 vmdb/app/controllers/application_controller/explorer.rb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comment 6 Nandini Chandra 2015-03-16 23:36:33 UTC
Verified in 5.4.0.0.11

Comment 8 errata-xmlrpc 2015-06-16 12:44:13 UTC
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://rhn.redhat.com/errata/RHBA-2015-1100.html