Created attachment 1609455 [details] screenshot Description of problem: When I try creating Catalog Item of Openstack type, I get empty window and below exception in logs. Version-Release number of selected component (if applicable): 5.11.0.22 How reproducible: 100% Steps to Reproduce: 1. Add RHOS 13 provider to appliance 2. Go to Services->Catalogs->Catalog Items 3. Choose Configuration->Add a new Catalog Item 4. Choose Openstack catalog item type Actual results: empty screen with catalog item type turns up. exception in logs Expected results: Openstack related create Catalog Item form should appear Additional info: [----] I, [2019-08-29T09:39:59.300244 #3373:2adf69a8c12c] INFO -- : Processing by CatalogController#atomic_form_field_changed as JS [----] I, [2019-08-29T09:39:59.300360 #3373:2adf69a8c12c] INFO -- : Parameters: {"st_prov_type"=>"openstack", "id"=>"new"} [----] F, [2019-08-29T09:40:01.670066 #3373:2adf69a8c12c] FATAL -- : Error caught: [NoMethodError] undefined method `cloud_tenant' for #<VmOrTemplate:0x000055bee25ff310> Did you mean? cloud_tenant_id /opt/rh/cfme-gemset/gems/activemodel-5.1.7/lib/active_model/attribute_methods.rb:432:in `method_missing' /var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:1049:in `create_hash_struct_from_vm_or_template' /var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:354:in `block in allowed_templates' /var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:353:in `collect' /var/www/miq/vmdb/app/models/miq_provision_virt_workflow.rb:353:in `allowed_templates' /var/www/miq/vmdb/app/models/miq_request_workflow.rb:287:in `get_field' /var/www/miq/vmdb/app/models/miq_request_workflow.rb:274:in `block in get_all_fields' /var/www/miq/vmdb/app/models/miq_request_workflow.rb:274:in `each_key' /var/www/miq/vmdb/app/models/miq_request_workflow.rb:274:in `get_all_fields' /var/www/miq/vmdb/app/models/miq_request_workflow.rb:266:in `get_dialog' /opt/rh/cfme-gemset/bundler/gems/cfme-ui-classic-545d77f77a97/app/controllers/application_controller/miq_request_methods.rb:844:in `block in prov_set_form_vars' /opt/rh/cfme-gemset/bundler/gems/cfme-ui-classic-545d77f77a97/app/controllers/application_controller/miq_request_methods.rb:843:in `each' /opt/rh/cfme-gemset/bundler/gems/cfme-ui-classic-545d77f77a97/app/controllers/application_controller/miq_request_methods.rb:843:in `prov_set_form_vars' /opt/rh/cfme-gemset/bundler/gems/cfme-ui-classic-545d77f77a97/app/controllers/catalog_controller.rb:214:in `atomic_form_field_changed' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/base.rb:186:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/rendering.rb:30:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/callbacks.rb:20:in `block in process_action' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:131:in `run_callbacks' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/callbacks.rb:19:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/rescue.rb:20:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `block in instrument' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `instrument' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/instrumentation.rb:30:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal/params_wrapper.rb:252:in `process_action' /opt/rh/cfme-gemset/gems/activerecord-5.1.7/lib/active_record/railties/controller_runtime.rb:22:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/abstract_controller/base.rb:124:in `process' /opt/rh/cfme-gemset/gems/actionview-5.1.7/lib/action_view/rendering.rb:30:in `process' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal.rb:189:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_controller/metal.rb:253:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/routing/route_set.rb:49:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/routing/route_set.rb:31:in `serve' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/journey/router.rb:50:in `block in serve' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/journey/router.rb:33:in `each' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/journey/router.rb:33:in `serve' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/routing/route_set.rb:844:in `call' /opt/rh/cfme-gemset/bundler/gems/cfme-graphql-ef6880aaae05/lib/manageiq/graphql/rest_api_proxy.rb:18:in `call' /opt/rh/cfme-gemset/gems/secure_headers-3.0.3/lib/secure_headers/middleware.rb:10:in `call' /var/www/miq/vmdb/lib/request_started_on_middleware.rb:12:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/etag.rb:25:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/conditional_get.rb:38:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/head.rb:12:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:232:in `context' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:226:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/cookies.rb:613:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/callbacks.rb:26:in `block in call' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:97:in `run_callbacks' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/callbacks.rb:24:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' /opt/rh/cfme-gemset/gems/railties-5.1.7/lib/rails/rack/logger.rb:36:in `call_app' /opt/rh/cfme-gemset/gems/railties-5.1.7/lib/rails/rack/logger.rb:26:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/remote_ip.rb:79:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/request_id.rb:25:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call' /opt/rh/cfme-gemset/gems/activesupport-5.1.7/lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' /opt/rh/cfme-gemset/gems/actionpack-5.1.7/lib/action_dispatch/middleware/executor.rb:12:in `call' /opt/rh/cfme-gemset/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in `call' /opt/rh/cfme-gemset/gems/railties-5.1.7/lib/rails/engine.rb:522:in `call' /usr/share/gems/gems/puma-3.7.1/lib/puma/configuration.rb:232:in `call' /usr/share/gems/gems/puma-3.7.1/lib/puma/server.rb:578:in `handle_request' /usr/share/gems/gems/puma-3.7.1/lib/puma/server.rb:415:in `process_client' /usr/share/gems/gems/puma-3.7.1/lib/puma/server.rb:275:in `block in run' /usr/share/gems/gems/puma-3.7.1/lib/puma/thread_pool.rb:120:in `block in spawn_thread' [----] I, [2019-08-29T09:40:01.685185 #3373:2adf69a8c12c] INFO -- : Rendered /opt/rh/cfme-gemset/bundler/gems/cfme-ui-classic-545d77f77a97/app/views/layouts/_exception_contents.html.haml (10.5ms)
Created attachment 1609456 [details] logs
The breaking changes were introduced in https://github.com/ManageIQ/manageiq/pull/18353 The code is raising an error here: https://github.com/ManageIQ/manageiq/blob/master/app/models/miq_provision_virt_workflow.rb#L1049 Because of the select line added here: https://github.com/ManageIQ/manageiq/blob/master/app/models/miq_provision_virt_workflow.rb#L343
Here is an easy reproducer, based on having a OpenStack VM template, showing the select introducing the issue: irb(main):001:0> vms = VmOrTemplate.where(:id => 3773) => #<ActiveRecord::Relation [#<ManageIQ::Providers::Openstack::CloudManager::Template id: 3773, vendor: "openstack", format: nil, version: nil, name: irb(main):002:0> vms.first.cloud_tenant => #<ManageIQ::Providers::Openstack::CloudManager::CloudTenant id: 10, name: "admin", description: "admin tenant", enabled: true, ems_ref: "e1e14251032a4b17ade04aebc02d3c03", ems_id: 45, created_at: "2016-06-02 20:37:06", updated_at: "2016-06-02 20:37:06", type: "ManageIQ::Providers::Openstack::CloudManager::Clou...", parent_id: nil> irb(main):003:0> vms = vms.select(:id, :name, :guid, :uid_ems, :ems_id, :cloud_tenant_id) => #<ActiveRecord::Relation [#<VmOrTemplate id: 3773, name: "HUIS-EvmSnapshot", guid: "6e45d27a-3d57-11e6-ab22-6003089fa294", ems_id: 45, uid_ems: "6b0e4066-eda1-41b3-9146-54bc554d18b5", cloud_tenant_id: 10>]> irb(main):004:0> vms.first.cloud_tenant NoMethodError (undefined method `cloud_tenant' for #<VmOrTemplate:0x00007fe70e02c1d0>) Did you mean? cloud_tenant_id
Keenan is currently looking into this issue as Nick L is on PTO today.
https://github.com/ManageIQ/manageiq/pull/19237
*** Bug 1748330 has been marked as a duplicate of this bug. ***
New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/c9883929ec689f192701445e63d92fa005440c71 commit c9883929ec689f192701445e63d92fa005440c71 Author: Keenan Brock <keenan> AuthorDate: Fri Aug 30 18:42:48 2019 -0400 Commit: Keenan Brock <keenan> CommitDate: Fri Aug 30 18:42:48 2019 -0400 Fix cloud workflow issue from https://github.com/ManageIQ/manageiq/pull/18353 fixes https://bugzilla.redhat.com/show_bug.cgi?id=1746931 app/models/miq_provision_virt_workflow.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commit detected on ManageIQ/manageiq/ivanchuk: https://github.com/ManageIQ/manageiq/commit/b8dd448f4e4c08cc0798fc20c7ea78ce608686e7 commit b8dd448f4e4c08cc0798fc20c7ea78ce608686e7 Author: Joe Rafaniello <jrafanie.github.com> AuthorDate: Tue Sep 3 11:06:20 2019 -0400 Commit: Joe Rafaniello <jrafanie.github.com> CommitDate: Tue Sep 3 11:06:20 2019 -0400 Merge pull request #19237 from kbrock/miq_provision_virt_workflow_cloud_tenant Workflow cloud_tenant fix (cherry picked from commit b598db0dec6fbbe8fdaa4554fac193f7d6e0d3be) https://bugzilla.redhat.com/show_bug.cgi?id=1746931 app/models/miq_provision_virt_workflow.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The automation tests are passing fine now.