Bug 1190601

Summary: While defining discovery rule, any fact with integer value suggested by auto search raises PGError and ISE in production.log
Product: Red Hat Satellite Reporter: Sachin Ghai <sghai>
Component: WebUIAssignee: Lukas Zapletal <lzap>
WebUI sub component: Foreman QA Contact: Sachin Ghai <sghai>
Status: CLOSED DEFERRED Docs Contact:
Severity: low    
Priority: low CC: bkearney, jmontleo, mmccune
Version: 6.1.0Keywords: Triaged
Target Milestone: Unspecified   
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/9088
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-18 13:21:08 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: 1193977    
Attachments:
Description Flags
On selecting any fact with integer value from auto-search under New discovery rule form, raises 500 ISE none

Description Sachin Ghai 2015-02-09 09:22:26 UTC
Created attachment 989589 [details]
On selecting any fact with integer value from auto-search under New discovery rule form, raises 500 ISE

Description of problem:
While defining the discovery rule, in search box I choose the auto-search and defined "cpu_count = 1" 

As soon as I defined "cpu_count = 1" in serach, UI raises 500 ISE in firebug and poduction.log thrown:

--
Processing by DiscoveredHostsController#auto_complete_search as JSON
  Parameters: {"search"=>" cpu_count = 1"}
Operation FAILED: PGError: ERROR:  operator does not exist: integer ~~ unknown
LINE 1: ...s"  WHERE ("discovery_attribute_sets"."cpu_count" LIKE '1%')...
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT  DISTINCT "discovery_attribute_sets"."cpu_count" FROM "discovery_attribute_sets"  WHERE ("discovery_attribute_sets"."cpu_count" LIKE '1%') ORDER BY "discovery_attribute_sets"."cpu_count" LIMIT 20
  Rendered common/500.html.erb (5.2ms)
Completed 500 Internal Server Error in 22ms (Views: 6.0ms | ActiveRecord: 2.0ms)

--

Version-Release number of selected component (if applicable):
Satellite-6.1.0-RHEL-6-20150205.0
Sat6.1 Beta snap1 compose3

How reproducible:
always

Steps to Reproduce:
1. go to configure --> New discovery rule
2. from auto-serach choose any fact like cpu_count = 1
3. see production.log

Actual results:
firebug raises following:

"NetworkError: 500 Internal Server Error - https://dhcp201-137.englab.pnq.redhat.com/discovered_hosts/auto_complete_search?search=+cpu_count+%3D+1

production.log raises:

-
--
Processing by DiscoveredHostsController#auto_complete_search as JSON
  Parameters: {"search"=>" cpu_count = 1"}
Operation FAILED: PGError: ERROR:  operator does not exist: integer ~~ unknown
LINE 1: ...s"  WHERE ("discovery_attribute_sets"."cpu_count" LIKE '1%')...
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT  DISTINCT "discovery_attribute_sets"."cpu_count" FROM "discovery_attribute_sets"  WHERE ("discovery_attribute_sets"."cpu_count" LIKE '1%') ORDER BY "discovery_attribute_sets"."cpu_count" LIMIT 20
  Rendered common/500.html.erb (5.2ms)
Completed 500 Internal Server Error in 22ms (Views: 6.0ms | ActiveRecord: 2.0ms)

--

On selecting any fact with integer value from auto-search under New discovery rule form.

Expected results:
No error should appear in production.log and Firebug shouln't raise any error on selecting fact from auto-search with integer value

Additional info:

Comment 1 Sachin Ghai 2015-02-09 09:23:03 UTC
Upstream issue: http://projects.theforeman.org/issues/9088

Comment 8 Lukas Zapletal 2015-03-19 09:48:22 UTC
When you see 500 in the UI that's totally blocker, but in this case we only see 500 only in the production.log. Satellite 6 operates well. For this reason I gave it lower prio.

Comment 9 Lukas Zapletal 2015-06-18 13:21:08 UTC
This appears to be fixed in develop branch. I am going to close this bug as the code will ship with 6.2. Reopen if needed.