Bug #23993
closedFiltering of some entities does not work
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
- 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: