Bug 1252769

Summary: undefined method `base_class' for NilClass:Class [catalog/tree_select] when clicking on service catalog item
Product: Red Hat CloudForms Management Engine Reporter: Christian Jung <cbolz>
Component: UI - OPSAssignee: Drew Bomhof <dbomhof>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Dave Johnson <dajohnso>
Severity: high Docs Contact:
Priority: high    
Version: 5.4.0CC: bdunne, cbolz, gmccullo, hkataria, jhardy, jprause, mpovolny, ngupta, obarenbo, sshveta
Target Milestone: GAKeywords: Reopened
Target Release: 5.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1290110 (view as bug list) Environment:
Last Closed: 2016-01-12 14:25:55 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: 1290110    
Attachments:
Description Flags
evm.log
none
production.log none

Description Christian Jung 2015-08-12 08:45:11 UTC
Description of problem:
When I click on an existing Service Catalog Item, the following error is shown:
undefined method `base_class' for NilClass:Class [catalog/tree_select] 


Version-Release number of selected component (if applicable):
cfme-5.4.1.0-1.el6cf.x86_64

How reproducible:
always for this catalog item

Steps to Reproduce:
1. click on Services, Service Catalogs 
2. click on a service catalo item
3.

Actual results:
see error above


Expected results:
the service catalog dialog should be shown

Additional info:
logs will be attaced asap

Comment 1 Christian Jung 2015-08-12 08:47:31 UTC
Created attachment 1061879 [details]
evm.log

Comment 2 Christian Jung 2015-08-12 08:47:58 UTC
Created attachment 1061880 [details]
production.log

Comment 5 Christian Jung 2015-08-14 13:29:41 UTC
I'm not sure if this is relevant, but here we go:

I have two providers in this appliance. RHEV 3.5 and OpenStack 6. There is a service catalog item to order resources in the RHEV environment.

This one always seems to work just fine.

If I create a service catalog item for OpenStack they work fine for some time too. It looks like the item breaks though, if something in the underlying OpenStack environment changes (like for example the network configuration). Also after some time (I don't really have been able to nail it down, but certainly after 24h) the item seems to be "broken".

So it might be related to changes in OSP which we update during inventory refresh and then break the catalog item.

It's only a theory of mine, but I thought it might help to mention it.

Regards,
Christian

Comment 7 Shveta 2015-08-17 18:00:50 UTC
Hi , 

I tried to recreate the issue at https://10.16.5.138. 
you can login as admin/smartvm . Under Service Catalogs , there is an item os_item . The template used to create the item was later deleted and so i see the error while editing that item . 

But not on clicking the item under Service Catalogs accordion.
Please check if this is the same error you were seeing .

Thanks, 
Shveta

Comment 8 Brandon Dunne 2015-08-17 19:14:23 UTC
Shveta, are you able to reproduce this on upstream??

The "undefined method 'base_class' for nil" error should be fixed by commits in https://bugzilla.redhat.com/show_bug.cgi?id=1250087

Comment 9 Shveta 2015-08-19 22:45:23 UTC
Not seeing this on upstream

Comment 10 Brandon Dunne 2015-08-31 16:09:54 UTC
Christian,

I can not reproduce this problem on upstream, 5.4.z, or on the appliance that you referenced.  Are there better instructions for reproducing it?  Does the catalog item need to be created with specific details?

Thanks,
Brandon

Comment 11 Brandon Dunne 2015-09-21 18:25:22 UTC
Closing since I can't reproduce the problem.  If there are better instructions to do so, please re-open with those.

Comment 14 Christian Jung 2015-11-24 09:59:32 UTC
Can comment #12 be used as a reproducer? 

I'm still trying to reproduce this in an internally accessible lab, but having problems with conflicting requests and availability.

Comment 15 Greg McCullough 2015-11-30 16:39:29 UTC
Lucy - This seems similar to the work done in PR https://github.com/ManageIQ/manageiq/pull/2947 to allow catalog items to be modified after the template is deleted or orphaned from the provider.

Here it seems the selected Flavor is being deleted and I am not sure what would cause the blow up there.  Re-adding the flavor would not work because it will be associated with a new ID in the database.

Comment 16 Greg McCullough 2015-12-04 15:29:50 UTC
Same basic failure as Bug 1236966

From the attached production.log:

[----] F, [2015-08-12T10:21:07.695808 #2593:12c3ea8] FATAL -- : Error caught: [NoMethodError] undefined method `base_class' for NilClass:Class
/var/www/miq/vmdb/app/models/miq_request_workflow.rb:1004:in `ci_to_hash_struct'
/var/www/miq/vmdb/app/models/miq_request_workflow.rb:999:in `add_target'
/var/www/miq/vmdb/app/models/miq_provision_cloud_workflow.rb:98:in `get_source_and_targets'
/var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:639:in `get_source_vm'
/var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:251:in `update_field_visibility'
/var/www/miq/vmdb/app/models/miq_provision_cloud_workflow.rb:72:in `update_field_visibility'
/var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:40:in `initialize'
/var/www/miq/vmdb/app/controllers/application_controller/miq_request_methods.rb:748:in `new'
/var/www/miq/vmdb/app/controllers/application_controller/miq_request_methods.rb:748:in `prov_set_show_vars'
/var/www/miq/vmdb/app/controllers/catalog_controller.rb:1670:in `get_node_info'
/var/www/miq/vmdb/app/controllers/catalog_controller.rb:1758:in `replace_right_cell'
/var/www/miq/vmdb/app/controllers/catalog_controller.rb:313:in `tree_select'

Comment 17 Christian Jung 2016-01-07 09:16:37 UTC
Answered NEEDINFO via direct email

Comment 20 Greg McCullough 2016-01-12 14:25:55 UTC
We have been unable to reproduce so I am closing this issue for now.  If the issue appears again please reopen the ticket with steps to reproduce.