Bug 1696412 - Newly created expressions with human readable sizes ( like 2.megabytes ) are failing
Summary: Newly created expressions with human readable sizes ( like 2.megabytes ) are ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Reporting
Version: 5.10.2
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: GA
: 5.11.0
Assignee: Yuri Rudman
QA Contact: Angelina Vasileva
Red Hat CloudForms Documentation
URL:
Whiteboard:
Depends On:
Blocks: 1702077
TreeView+ depends on / blocked
 
Reported: 2019-04-04 19:36 UTC by Yuri Rudman
Modified: 2019-12-13 14:54 UTC (History)
5 users (show)

Fixed In Version: 5.11.0.1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1702077 (view as bug list)
Environment:
Last Closed: 2019-12-13 14:54:42 UTC
Category: Bug
Cloudforms Team: CFME Core
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Expression with saved human format (134.81 KB, image/png)
2019-04-04 19:36 UTC, Yuri Rudman
no flags Details

Description Yuri Rudman 2019-04-04 19:36:58 UTC
Created attachment 1552068 [details]
Expression with saved human format

Description of problem:
New expression editor allows to select denomination for disk size (as well for other fields) - GB, MB, etc. and this denomination saved as part of expression.
Example: "Virtual Machine : Allocated Disk Storage < 1 GB" 

But during execution when SQL created this "1 GB" not converting to number, which is causing error: 
[2019-04-04T15:00:08.320937 #24319:11ccf54] ERROR -- : [ActiveRecord::StatementInvalid]: PG::InvalidTextRepresentation: ERROR:  invalid input syntax for type numeric: "1.gigabytes"
LINE 1: ...ares"."vm_or_template_id" = "vms"."id" LIMIT 1) < '1.gigabyt...
                                                             ^
: SELECT "vms".*, (SELECT  "hardwares"."memory_mb" FROM "hardwares" WHERE "hardwares"."vm_or_template_id" = "vms"."id" LIMIT 1) AS mem_cpu FROM "vms" WHERE "vms"."type" IN ('ManageIQ::Providers::InfraManager::Vm', 'VmXen', 'ManageIQ::Providers::Kubevirt::InfraManager::Vm', 'ManageIQ::Providers::Redhat::InfraManager::Vm', 'ManageIQ::Providers::Microsoft::InfraManager::Vm', 'ManageIQ::Providers::Vmware::InfraManager::Vm') AND "vms"."template" = $1 AND ((SELECT  (SELECT SUM("disks"."size") FROM "disks" WHERE "hardwares"."id" = "disks"."hardware_id") FROM "hardwares" WHERE "hardwares"."vm_or_template_id" = "vms"."id" LIMIT 1) < '1.gigabytes')  Method:[block (2 levels) in <class:LogProxy>]
[----] E, [2019-04-04T15:00:08.321006 #24319:11ccf54] 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:95:in `select_all'
/opt/rh/cfme-gemset/gems/activerecord-5.0.7.1/lib/active_record/querying.rb:39:in `find_by_sql'
/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.rb:256:in `to_a'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:387:in `build_table'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:214:in `_generate_table'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:186:in `block in generate_table'

Version-Release number of selected component (if applicable):
5.10.2.2 and latest on master

How reproducible:
100%

Steps to Reproduce:
1. create expression to filer report: Virtual Machine : Allocated Disk Storage < 1 GB ( see on screenshot)
2. execute report


Actual results:
error

Comment 7 CFME Bot 2019-04-24 19:45:35 UTC
New commit detected on ManageIQ/manageiq/master:

https://github.com/ManageIQ/manageiq/commit/a84aac1b7ab23fb66792ee32c5000f52e6b9306c
commit a84aac1b7ab23fb66792ee32c5000f52e6b9306c
Author:     Yuri Rudman <yrudman>
AuthorDate: Wed Apr 10 16:30:49 2019 -0400
Commit:     Yuri Rudman <yrudman>
CommitDate: Wed Apr 10 16:30:49 2019 -0400

    convert string representation of sizes to numbers when generating SQL for expression
    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1696412

 lib/miq_expression.rb | 28 +-
 1 file changed, 26 insertions(+), 2 deletions(-)

Comment 8 Angelina Vasileva 2019-05-06 12:28:32 UTC
Fixed and verified in 5.11.0.2.20190430174828_0e34dea


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