Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1179448 - Katello API throws an incorrect error when receiving non-json requests
Katello API throws an incorrect error when receiving non-json requests
Status: CLOSED ERRATA
Product: Red Hat Satellite 6
Classification: Red Hat
Component: API (Show other bugs)
Unspecified
Unspecified Unspecified
unspecified Severity medium (vote)
: Unspecified
: Unused
Assigned To: David Davis
jaudet
http://projects.theforeman.org/issues...
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-01-06 13:55 EST by David Davis
Modified: 2017-02-23 15:40 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-08-12 01:21:17 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Foreman Issue Tracker 8846 None None None 2016-04-22 12:07 EDT
Red Hat Product Errata RHSA-2015:1592 normal SHIPPED_LIVE Important: Red Hat Satellite 6.1.1 on RHEL 6 2015-08-12 05:04:35 EDT

  None (edit)
Description David Davis 2015-01-06 13:55:08 EST
When I run the following against our Katello API:

❯ curl -k -u admin:changeme localhost:3000/katello/api/v2/organizations/3/systems/a0ce0ce7-7935-4298-9557-9e6abbe67224 -XPUT -d'{"content_view_id": "19", "type": "system"}'

{"displayMessage":"Missing values for system.","errors":["param is missing or the value is empty: system"]}

However I'd expect a 415 since curl by default uses x-www-form-urlencoded or whatever for PUT requests. Here's a foreman example:

❯ curl -k -u admin:changeme -XPUT localhost:9292/api/v2/operatingsystems/1 -d'{"name": "test"}'

{
  "error": {"message":"'Content-Type: application/x-www-form-urlencoded' is unsupported in API v2 for POST and PUT requests. Please use 'Content-Type: application/json'."}
}

I think this is because our Katello API controllers aren't extending foreman's Api::V2::BaseController.
Comment 1 Partha Aji 2015-01-06 13:56:54 EST
Created redmine issue http://projects.theforeman.org/issues/8846 from this bug
Comment 2 RHEL Product and Program Management 2015-01-06 14:24:06 EST
Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.
Comment 4 Bryan Kearney 2015-01-12 16:05:02 EST
Moving to POST since upstream bug http://projects.theforeman.org/issues/8846 has been closed
-------------
David Davis
Applied in changeset commit:katello|50c3c9c3db8a637e5034d9c1d44d6bc9808eedec.
Comment 7 jaudet 2015-03-06 15:51:48 EST
Tested against both RHEL 6.6 and RHEL 7.1 sytems using Robottelo. Example test output:

    $ nosetests tests/foreman/api/test_organization.py -m test_create_text_plain
    .
    ----------------------------------------------------------------------
    Ran 1 test in 0.152s

    OK
Comment 8 Bryan Kearney 2015-08-11 09:28:49 EDT
This bug is slated to be released with Satellite 6.1.
Comment 9 errata-xmlrpc 2015-08-12 01:21:17 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2015:1592

Note You need to log in before you can comment on or make changes to this bug.