Project

General

Profile

Bug #23993

Filtering of some entities does not work

Added by Ivan Necas over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Category:
Hammer
Target version:
Difficulty:
Triaged:
Yes
Bugzilla link:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1584785

Description of problem:
Some entities can only be specified using --<entity>-id because when specified by name by --<entity>, search doesn't query for the name entered and returns multiple results. I discovered this for images and compute resources.

By using 'hammer -d', I discovered the correct request and response (for the entity which works) are:

[DEBUG 2018-05-31T12:08:08 API] Headers: {
:params => {
:search => "name = \"Kickstart default\""
}
}
[DEBUG 2018-05-31T12:08:08 API] Response: {
"total" => 14,
"subtotal" => 1,
"page" => 1,
"per_page" => 20,
"search" => "name = \"Kickstart default\"",
"sort" => {
"by" => nil,
"order" => nil
},
...

Notice the request is in form ':search => "name = \"Kickstart default\""' and response shows non-nil 'search' param.
And the incorrect ones are:

[DEBUG 2018-05-31T12:08:08 API] Headers: {
:params => {
"compute_resource_id" => 1,
"operatingsystem_id" => 1,
"name" => "fish"
}
}
[DEBUG 2018-05-31T12:08:09 API] Response: {
"total" => 2,
"subtotal" => 2,
"page" => 1,
"per_page" => 20,
"search" => nil,
"sort" => {
"by" => nil,
"order" => nil
},
...
Notice the request is wrongly in form '"name" => "fish"' and 'search' in response is nil.

Version-Release number of selected component (if applicable):
Tested on Sat 6.4 snap 5

How reproducible:
Deterministic

Steps to Reproduce:
  1. hammer host create --compute-resource-id 1 ...

Actual results:
Could not create the host:
Error: Found more than one image.

Expected results:
Same as specifying the entity (compute resource in this case) by id

Additional info:


Related issues

Related to Katello - Bug #15701: Allow Foreman objects to resolve using `create_search_options_creators_without_katello_api`Closed2016-07-15
Related to Katello - Bug #24063: Investigate running hammer-cli-foreman tests with hammer-cli-katello loadedNew2018-06-25
Related to Katello - Refactor #26027: hammer_cli_katello resolvers interfere with foreman onces on katello-extended resourcesNew
Copied to Katello - Bug #25027: Filtering of some entities does not workClosed

Associated revisions

Revision 31e2fb82 (diff)
Added by Christine Fouant over 2 years ago

fixes #23993 - fixes entity filtering by adding searchables (#574)

History

#1 Updated by Tomáš Strachota over 2 years ago

  • Status changed from New to Need more information
  • Subject changed from Filtering of some entities does not work to Filtering of some entities does not work

The issue description doesn't mention what commands are actually broken. Waiting for more information form the original BZ.

#2 Updated by Ivan Necas over 2 years ago

  • Status changed from Need more information to New
  • Category changed from Other commands to Hammer
  • Project changed from Hammer CLI to Katello

One such an example is:

hammer -d host create --compute-resource 'blacr' --name 'bla' --environment="test" --architecture='x86_64' --domain local.test --operatingsystem 'RedHat 7.5' --partition-table='Kickstart default' --location='Default Location' --organization='Default Organization'

The issue only reproduces when katello plugin is enabled, therefore changing the component to Katello.

#3 Updated by Ivan Necas over 2 years ago

  • Related to Bug #15701: Allow Foreman objects to resolve using `create_search_options_creators_without_katello_api` added

#4 Updated by Ivan Necas over 2 years ago

I've tracked the issue down to https://projects.theforeman.org/issues/15701, where we started going down the road to override the foreman-related resources in Katello.

Something else had to change as well, as compute resources were not causing issues before. Anyway, this approach proved itself to be quite risky and I believe it should be reconsidered in hammer-cli-katello, as every searchable added to Foreman (and perhaps even to other plugins) will be broken once Katello plugin is enabled.

#5 Updated by Ivan Necas over 2 years ago

  • Related to Bug #24063: Investigate running hammer-cli-foreman tests with hammer-cli-katello loaded added

#6 Updated by Andrew Kofink over 2 years ago

  • Legacy Backlogs Release (now unused) set to 338

#7 Updated by Andrew Kofink over 2 years ago

  • Legacy Backlogs Release (now unused) changed from 338 to 349

#8 Updated by Andrew Kofink over 2 years ago

  • Legacy Backlogs Release (now unused) changed from 349 to 369

#9 Updated by The Foreman Bot over 2 years ago

  • Assignee set to Christine Fouant
  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/hammer-cli-katello/pull/574 added

#10 Updated by Christine Fouant over 2 years ago

  • Status changed from Ready For Testing to Closed

#11 Updated by Christine Fouant about 2 years ago

  • Copied to Bug #25027: Filtering of some entities does not work added

#12 Updated by Ivan Necas almost 2 years ago

  • Related to Refactor #26027: hammer_cli_katello resolvers interfere with foreman onces on katello-extended resources added

Also available in: Atom PDF