Bug #4487
Updated by Dominic Cleal over 10 years ago
Notice that using the CLI (and therefore the API) to search for an organization by name fails: <pre> # hammer -v organization list --search 'name=ACME_Corporation' [ERROR 2014-02-27 17:51:54 Exception] Error: 400 Bad Request Error: 400 Bad Request [ERROR 2014-02-27 17:51:54 Exception] RestClient::BadRequest (400 Bad Request): /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/abstract_response.rb:48:in `return!' /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:220:in `process_result' /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:169:in `transmit' /usr/lib/ruby/1.8/net/http.rb:543:in `start' /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:166:in `transmit' /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:60:in `execute' /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:31:in `execute' /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/resource.rb:54:in `get' /usr/lib/ruby/gems/1.8/gems/katello_api-0.0.8/lib/katello_api/base.rb:70:in `send' /usr/lib/ruby/gems/1.8/gems/katello_api-0.0.8/lib/katello_api/base.rb:70:in `http_call' /usr/lib/ruby/gems/1.8/gems/katello_api-0.0.8/lib/katello_api/base.rb:51:in `perform_call' /usr/lib/ruby/gems/1.8/gems/katello_api-0.0.8/lib/katello_api/resources/organization.rb:22:in `index' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/lib/hammer_cli/./apipie/resource.rb:53:in `send' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/lib/hammer_cli/./apipie/resource.rb:53:in `call' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/lib/hammer_cli/./apipie/read_command.rb:17:in `retrieve_data' /usr/lib/ruby/gems/1.8/gems/hammer_cli_foreman-0.0.18/lib/hammer_cli_foreman/commands.rb:48:in `retrieve_data' /usr/lib/ruby/gems/1.8/gems/hammer_cli_foreman-0.0.18/lib/hammer_cli_foreman/commands.rb:93:in `retrieve_and_print' /usr/lib/ruby/gems/1.8/gems/hammer_cli_foreman-0.0.18/lib/hammer_cli_foreman/commands.rb:68:in `execute' /usr/lib/ruby/gems/1.8/gems/hammer_cli_foreman-0.0.18/lib/hammer_cli_foreman/resource_supported_test.rb:9:in `execute' /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/lib/hammer_cli/./apipie/../abstract.rb:22:in `run' /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/subcommand/execution.rb:11:in `execute' /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/lib/hammer_cli/./apipie/../abstract.rb:22:in `run' /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/subcommand/execution.rb:11:in `execute' /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/lib/hammer_cli/./apipie/../abstract.rb:22:in `run' /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:125:in `run' /usr/lib/ruby/gems/1.8/gems/hammer_cli-0.0.18/bin/hammer:61 /usr/bin/hammer:19:in `load' /usr/bin/hammer:19 </pre> Logs show: <pre> Started GET "/katello/api/organizations?sort=&search=name%3DACME_Corporation" "/organizations/auto_complete_search?search=name+%3D+ACME_Corporatio" for 127.0.0.1 10.10.63.117 at 2014-02-27 17:51:54 17:58:59 -0500 Processing by Katello::Api::V2::OrganizationsController#index OrganizationsController#auto_complete_search as JSON Parameters: {"sort"=>"", "search"=>"name=ACME_Corporation", "api_version"=>"v2", "organization"=>{}} {"search"=>"name = ACME_Corporatio"} Authorized user admin(Admin User) Operation FAILED: PGError: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list Field 'name' not recognized for searching! (ScopedSearch::QueryNotSupported) LINE 1: ...axonomies".name LIKE 'ACME_Corporatio%') ORDER BY title LIMI... ^ : SELECT DISTINCT "taxonomies".name FROM "taxonomies" WHERE "taxonomies"."type" IN ('Organization') AND ("taxonomies".name LIKE 'ACME_Corporatio%') ORDER BY title LIMIT 20 Rendered api/v2/errors/param_error.json.rabl within api/v2/layouts/error_layout (0.6ms) common/500.html.erb (5.7ms) Completed 400 Bad Request 500 Internal Server Error in 58ms 143ms (Views: 1.5ms 6.5ms | ActiveRecord: 13.9ms) 0.9ms) </pre> As per issue #4486 the API is raising a massive error but katello's organization controller isn't passing the error back