Bug 1698168

Summary: Expression editor for cloud_tenant_id gets an error
Product: Red Hat CloudForms Management Engine Reporter: William Fitzgerald <wfitzger>
Component: UI - OPSAssignee: Brian McLaughlin <bmclaugh>
Status: CLOSED CURRENTRELEASE QA Contact: Angelina Vasileva <anikifor>
Severity: medium Docs Contact: Red Hat CloudForms Documentation <cloudforms-docs>
Priority: medium    
Version: 5.10.3CC: bmidwood, brant.evans, dmetzger, hkataria, lavenel, mpovolny, mshriver, obarenbo, simaishi
Target Milestone: GAKeywords: TestOnly, ZStream
Target Release: 5.11.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.11.0.2 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1704771 (view as bug list) Environment:
Last Closed: 2019-12-13 14:55:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: Bug
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1704771    
Attachments:
Description Flags
expression editor error none

Description William Fitzgerald 2019-04-09 17:59:56 UTC
Description of problem: Expression editor for cloud_tenant_id gets an error.


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

How reproducible:
100%

Steps to Reproduce:
1.  Create an expression method using Flavor object and try to get flavor.Cloud_tenant : id
2. Run expression method
3.

Actual results:
Error - See traceback

Expected results:


Additional info:
When you select Flavor.Cloud Tenants : id, the only option is CONTAINS which should be for a string and id should be numeric.  
Adding a screenshot


[----] I, [2019-04-09T10:29:22.315835 #20143:4569948]  INFO -- : MIQ(ResourceAction#deliver_to_automate_from_dialog_field) Running <ResourceAction:18> for <DialogField:15>
[----] I, [2019-04-09T10:29:22.317498 #20143:4569948]  INFO -- : MIQ(MiqAeEngine.deliver) Delivering {"dialog_mycpu"=>"1", "dialog_mycpus"=>nil} for object [ServiceTemplate.1] with state [] to Automate
[----] I, [2019-04-09T10:29:22.801139 #20143:4569948]  INFO -- : Exception in realtime_block :method_time - Timings: {:substitution_count=>1, :substitution_time=>5.0067901611328125e-06, :method_time=>0.01971292495727539}
[----] E, [2019-04-09T10:29:22.801417 #20143:4569948] ERROR -- : [ActiveRecord::StatementInvalid]: PG::UndefinedColumn: ERROR:  column cloud_tenants.cloud_tenant_id does not exist
LINE 1: ..." = 'true' AND "flavors"."id" IN (SELECT DISTINCT "cloud_ten...
                                                             ^
: SELECT "flavors"."id" AS t0_r0, "flavors"."ems_id" AS t0_r1, "flavors"."name" AS t0_r2, "flavors"."description" AS t0_r3, "flavors"."cpus" AS t0_r4, "flavors"."cpu_cores" AS t0_r5, "flavors"."memory" AS t0_r6, "flavors"."ems_ref" AS t0_r7, "flavors"."type" AS t0_r8, "flavors"."supports_32_bit" AS t0_r9, "flavors"."supports_64_bit" AS t0_r10, "flavors"."enabled" AS t0_r11, "flavors"."supports_hvm" AS t0_r12, "flavors"."supports_paravirtual" AS t0_r13, "flavors"."block_storage_based_only" AS t0_r14, "flavors"."cloud_subnet_required" AS t0_r15, "flavors"."ephemeral_disk_size" AS t0_r16, "flavors"."ephemeral_disk_count" AS t0_r17, "flavors"."root_disk_size" AS t0_r18, "flavors"."swap_disk_size" AS t0_r19, "flavors"."publicly_available" AS t0_r20, "cloud_tenants"."id" AS t1_r0, "cloud_tenants"."name" AS t1_r1, "cloud_tenants"."description" AS t1_r2, "cloud_tenants"."enabled" AS t1_r3, "cloud_tenants"."ems_ref" AS t1_r4, "cloud_tenants"."ems_id" AS t1_r5, "cloud_tenants"."created_at" AS t1_r6, "cloud_tenants"."updated_at" AS t1_r7, "cloud_tenants"."type" AS t1_r8, "cloud_tenants"."parent_id" AS t1_r9, "tenants"."id" AS t2_r0, "tenants"."domain" AS t2_r1, "tenants"."subdomain" AS t2_r2, "tenants"."name" AS t2_r3, "tenants"."login_text" AS t2_r4, "tenants"."logo_file_name" AS t2_r5, "tenants"."logo_content_type" AS t2_r6, "tenants"."logo_file_size" AS t2_r7, "tenants"."logo_updated_at" AS t2_r8, "tenants"."login_logo_file_name" AS t2_r9, "tenants"."login_logo_content_type" AS t2_r10, "tenants"."login_logo_file_size" AS t2_r11, "tenants"."login_logo_updated_at" AS t2_r12, "tenants"."ancestry" AS t2_r13, "tenants"."divisible" AS t2_r14, "tenants"."description" AS t2_r15, "tenants"."use_config_for_attributes" AS t2_r16, "tenants"."default_miq_group_id" AS t2_r17, "tenants"."source_type" AS t2_r18, "tenants"."source_id" AS t2_r19, "ext_management_systems"."id" AS t3_r0, "ext_management_systems"."name" AS t3_r1, "ext_management_systems"."created_on" AS t3_r2, "ext_management_systems"."updated_on" AS t3_r3, "ext_management_systems"."guid" AS t3_r4, "ext_management_systems"."zone_id" AS t3_r5, "ext_management_systems"."type" AS t3_r6, "ext_management_systems"."api_version" AS t3_r7, "ext_management_systems"."uid_ems" AS t3_r8, "ext_management_systems"."host_default_vnc_port_start" AS t3_r9, "ext_management_systems"."host_default_vnc_port_end" AS t3_r10, "ext_management_systems"."provider_region" AS t3_r11, "ext_management_systems"."last_refresh_error" AS t3_r12, "ext_management_systems"."last_refresh_date" AS t3_r13, "ext_management_systems"."provider_id" AS t3_r14, "ext_management_systems"."realm" AS t3_r15, "ext_management_systems"."tenant_id" AS t3_r16, "ext_management_systems"."project" AS t3_r17, "ext_management_systems"."parent_ems_id" AS t3_r18, "ext_management_systems"."subscription" AS t3_r19, "ext_management_systems"."last_metrics_error" AS t3_r20, "ext_management_systems"."last_metrics_update_date" AS t3_r21, "ext_management_systems"."last_metrics_success_date" AS t3_r22, "ext_management_systems"."tenant_mapping_enabled" AS t3_r23, "ext_management_systems"."enabled" AS t3_r24, "ext_management_systems"."options" AS t3_r25, "ext_management_systems"."zone_before_pause_id" AS t3_r26 FROM "flavors" LEFT OUTER JOIN "cloud_tenant_flavors" ON "cloud_tenant_flavors"."flavor_id" = "flavors"."id" LEFT OUTER JOIN "cloud_tenants" ON "cloud_tenants"."id" = "cloud_tenant_flavors"."cloud_tenant_id" LEFT OUTER JOIN "tenants" ON "tenants"."source_id" = "cloud_tenants"."id" AND "tenants"."source_type" = $1 LEFT OUTER JOIN "ext_management_systems" ON "ext_management_systems"."id" = "flavors"."ems_id" AND "ext_management_systems"."type" IN ('ManageIQ::Providers::CloudManager', 'ManageIQ::Providers::Amazon::CloudManager', 'ManageIQ::Providers::Azure::CloudManager', 'ManageIQ::Providers::Google::CloudManager', 'ManageIQ::Providers::Openstack::CloudManager', 'ManageIQ::Providers::Vmware::CloudManager') WHERE ("flavors"."enabled" = 'true' AND "flavors"."id" IN (SELECT DISTINCT "cloud_tenants"."cloud_tenant_id" FROM "cloud_tenants" WHERE "cloud_tenants"."name" = 'admin'))  Method:[rescue in values_from_automate]
[----] E, [2019-04-09T10:29:22.801510 #20143:4569948] ERROR -- : /opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/postgresql_adapter.rb:600:in `async_exec'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/postgresql_adapter.rb:600:in `block in exec_no_cache'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract_adapter.rb:590:in `block in log'
/opt/rh/cfme-gemset/gems/activesupport-5.0.7.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract_adapter.rb:583:in `log'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/postgresql_adapter.rb:600:in `exec_no_cache'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/postgresql_adapter.rb:589:in `execute_and_clear'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:103:in `exec_query'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract/database_statements.rb:373:in `select'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract/database_statements.rb:41:in `select_all'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract/query_cache.rb:93:in `block in select_all'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract/query_cache.rb:114:in `cache_sql'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/connection_adapters/abstract/query_cache.rb:93:in `select_all'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/relation/finder_methods.rb:391:in `find_with_associations'
/var/www/miq/vmdb/lib/extensions/ar_virtual.rb:744:in `find_with_associations'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/relation.rb:706:in `exec_queries'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/relation.rb:583:in `load'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/relation.rb:260:in `records'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/relation/delegation.rb:38:in `length'
/var/www/miq/vmdb/lib/rbac/filterer.rb:272:in `search'
/var/www/miq/vmdb/lib/rbac/filterer.rb:132:in `search'
/var/www/miq/vmdb/lib/rbac.rb:3:in `search'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_expression_method.rb:15:in `run'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_method.rb:16:in `invoke_expression'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_method.rb:74:in `invoke'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:503:in `invoke_method'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:367:in `block in process_method_raw'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-de11f0b04f73/lib/gems/pending/util/extensions/miq-benchmark.rb:11:in `realtime_store'
/opt/rh/cfme-gemset/bundler/gems/cfme-gems-pending-de11f0b04f73/lib/gems/pending/util/extensions/miq-benchmark.rb:35:in `realtime_block'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:360:in `process_method_raw'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:373:in `process_method'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:314:in `block in process_filtered_fields'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:309:in `each'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:309:in `process_filtered_fields'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_object.rb:305:in `process_fields'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_workspace_runtime.rb:153:in `instantiate'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_engine-e5a6db4ccd64/lib/miq_automation_engine/engine/miq_ae_engine/miq_ae_workspace_runtime.rb:51:in `instantiate'
/opt/rh/cfme-gemset/bundler/gems/cfme-automation_enginpacket_write_poll: Connection to 10.8.99.108 port 22: Can't assign requested addressomation_object'

Comment 2 William Fitzgerald 2019-04-09 18:01:30 UTC
Created attachment 1553913 [details]
expression editor error

Comment 3 William Fitzgerald 2019-04-09 18:02:53 UTC
Reproducer: 10.8.99.108

Order 'generic' service and check evm log

Comment 6 CFME Bot 2019-04-29 20:41:51 UTC
New commit detected on ManageIQ/manageiq-ui-classic/master:

https://github.com/ManageIQ/manageiq-ui-classic/commit/d377c3c84bec3a986e1dc191f4d6a5121aed711c
commit d377c3c84bec3a986e1dc191f4d6a5121aed711c
Author:     Brian McLaughlin <bmclaugh>
AuthorDate: Mon Apr 29 11:07:11 2019 -0400
Commit:     Brian McLaughlin <bmclaugh>
CommitDate: Mon Apr 29 11:07:11 2019 -0400

    Use numeric comparison for IDs
    fixes https://bugzilla.redhat.com/show_bug.cgi?id=1698168

 app/controllers/application_controller/filter/expression.rb | 4 +-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comment 8 Angelina Vasileva 2019-05-06 14:29:07 UTC
Fixed and verified in 5.11.0.2.20190430174828_0e34dea