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.
Created redmine issue http://projects.theforeman.org/issues/8846 from this bug
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.
Moving to POST since upstream bug http://projects.theforeman.org/issues/8846 has been closed ------------- David Davis Applied in changeset commit:katello|50c3c9c3db8a637e5034d9c1d44d6bc9808eedec.
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
This bug is slated to be released with Satellite 6.1.
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