Project

General

Profile

Actions

Bug #15050

closed

ISE on scoped search for Hosts

Added by John Mitsch almost 8 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Search
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1335044
Description of problem:
There is a nasty traceback while searching for an existing hostname in Content Hosts using scoped search.

search query: "my-host-1.domain.org"
production.log:
2016-05-11 04:30:59 [app] [I] Processing by Api::V2::HostsController#index as JSON
2016-05-11 04:30:59 [app] [I] Parameters: {"organization_id"=>"1", "page"=>"1", "search"=>"my-host-1.lab.eng.brq.redhat.com", "sort_by"=>"name", "sort_order"=>"ASC", "apiv"=>"v2"}
2016-05-11 04:30:59 [app] [W] Action failed | PG::Error: ERROR: missing FROM-clause entry for table "organizations_hosts" | LINE 1: ...14_r9, "taxonomies"."katello_default" AS t14_r10, "organizat...

searching for non-existing hostname works fine.

Version-Release number of selected component (if applicable):
6.2.0 Beta GA10.1

How reproducible:
always

Steps to Reproduce:
1. register a host to your satellite so it appears in Content Hosts
2. Try to put its hostname to the search field and hit search
3. check production.log

Actual results:
ISE

Expected results:
Search query is being validated performed on all applicable fields.

Additional info:
Workaround is to use the explicit-field search query:
name = my-host-1.domain.org or
name ~ my-host-1.domain.org

- I'm requesting a blocker flag for this BZ as this will be hit quite often by users (single word search queries are the most commonly used)

Actions #1

Updated by John Mitsch almost 8 years ago

To reproduce in foreman use:

curl -X GET -u admin 'http://localhost:3000/api/v2/hosts?organization_id=2&search=<hostname>'

where <hostname> is an actual host's name.

This seems to be an error in scoped search. If you comment this line out

https://github.com/theforeman/foreman/blob/f4459c1/app/models/concerns/hostext/search.rb#L70

or add :only_explicit => true

that query works.

It seems to be a bug in scoped search that has already caused issues in foreman -

https://github.com/theforeman/foreman/commit/5185335248abd0104ec0b791df5e641eeae9da6b

Actions #2

Updated by Dominic Cleal almost 8 years ago

  • Category changed from Inventory to Search

I'm guessing you've a further search added by a plugin or Katello that adds in joins to taxonomies, and these are conflicting? This doesn't seem to happen on develop.

Actions #3

Updated by John Mitsch almost 8 years ago

  • Subject changed from ISE on scoped search for Content Hosts to ISE on scoped search for Hosts

I've tested and was able to recreate this on just a foreman (no katello or plugins) development environment.

Did you test that curl command using a host that had been already created? It only errors when you search for an actual host.

i.e. curl -X GET -u admin 'http://localhost:3000/api/v2/hosts?organization_id=2&search=myhost.example.com'

Actions #4

Updated by The Foreman Bot almost 8 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to John Mitsch
  • Pull request https://github.com/theforeman/foreman/pull/3535 added
Actions #5

Updated by John Mitsch almost 8 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #6

Updated by Dominic Cleal almost 8 years ago

  • translation missing: en.field_release set to 159
Actions

Also available in: Atom PDF