Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1216236 - POST /api/v2/locations returns an incomplete set of attributes
POST /api/v2/locations returns an incomplete set of attributes
Status: CLOSED ERRATA
Product: Red Hat Satellite 6
Classification: Red Hat
Component: API (Show other bugs)
6.1.0
Unspecified Unspecified
unspecified Severity medium (vote)
: GA
: Unused
Assigned To: Tomer Brisker
Tomas Strachota
http://projects.theforeman.org/issues...
: Triaged
: 1232855 1235019 (view as bug list)
Depends On:
Blocks: 1234964 1234973 1234999 1235012 1235049 1235378 1235380
  Show dependency treegraph
 
Reported: 2015-04-28 16:24 EDT by jaudet
Modified: 2016-12-01 04:07 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-07-27 04:50:45 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 10356 None None None 2016-04-22 11:51 EDT
Red Hat Product Errata RHBA-2016:1500 normal SHIPPED_LIVE Red Hat Satellite 6.2 Base Libraries 2016-07-27 08:24:38 EDT

  None (edit)
Description jaudet 2015-04-28 16:24:26 EDT
Description of problem:
The API returns significantly different information for the following two calls:

* POST /api/v2/locations
* GET /api/v2/locations/:id

This is problematic for two reasons:

* This is inconsistent with how other paths behave, which makes writing client code harder to do.
* Getting authoritative information about a just-created location requires a follow-up API call, which is time-consuming.

Version-Release number of selected component (if applicable):
Tested against Satellite-6.1.0-RHEL-6-20150424.0 and Satellite-6.1.0-RHEL-7-20150424.0.

How reproducible:
100%

Steps to Reproduce:
Here's a sample script:

    >>> from nailgun import entities
    >>> loc_attrs = entities.Location().create_json()
    >>> loc_attrs2 = entities.Location(id=loc_attrs['id']).read_json()
    >>> loc_attrs.keys()  # contents of response to POST call
    [
        u'ancestry',
        u'apply_info_task_id',
        u'created_at',
        u'default_info',
        u'description',
        u'id',
        u'ignore_types',
        u'katello_default',
        u'label',
        u'name',
        u'title',
        u'updated_at',
    ]
    >>> loc_attrs2.keys()  # contents of response to GET call
    [
        u'compute_resources',
        u'config_templates',
        u'created_at',
        u'description',
        u'domains',
        u'environments',
        u'hostgroups',
        u'id',
        u'media',
        u'name',
        u'organizations',
        u'parameters',
        u'select_all_types',
        u'smart_proxies',
        u'subnets',
        u'title',
        u'updated_at',
        u'users',
    ]

Actual results:
The actual results are as shown in the above example.

Expected results:
Both POST and GET requests should return the same information.

Additional info:
Comment 1 RHEL Product and Program Management 2015-04-28 16:33:19 EDT
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 3 jmagen@redhat.com 2015-05-03 08:53:00 EDT
This was a known issue that the response of POST/PUT is just the object and it doesn't use a RABL template (render :json => @object), whereas the GET :id included all the relationships which are in the RABL template show.json.rabl
Comment 4 Bryan Kearney 2015-05-04 09:38:32 EDT
Created redmine issue http://projects.theforeman.org/issues/10356 from this bug
Comment 5 orabin 2015-07-07 04:22:45 EDT
*** Bug 1234964 has been marked as a duplicate of this bug. ***
Comment 6 Bryan Kearney 2015-07-13 08:04:17 EDT
Moving to POST since upstream bug http://projects.theforeman.org/issues/10356 has been closed
-------------
alon goldboim
Applied in changeset commit:d575926a689fd6abd6f26ee2823ce95eef07dd38.
Comment 7 jcallaha 2015-11-10 11:29:57 EST
Failed QA in upstream. 

Expected
['ancestry',
 'compute_resources',
 'config_templates',
 'created_at',
 'description',
 'domains',
 'environments',
 'hostgroups',
 'id',
 'media',
 'name',
 'organizations',
 'parameters',
 'provisioning_templates',
 'ptables',
 'select_all_types',
 'smart_proxies',
 'subnets',
 'title',
 'updated_at',
 'users']

Actual
POST https://qe-blade-12.idmqe.lab.eng.bos.redhat.com/api/v2/locations/5
{
    "name": "tester"
}
---------------------------------------
{
  "ancestry": null,
  "created_at": "2015-11-10T15:53:20Z",
  "description": null,
  "id": 5,
  "ignore_types": [
    "ProvisioningTemplate",
    "Hostgroup"
  ],
  "katello_default": false,
  "label": null,
  "name": "tester",
  "title": "tester",
  "updated_at": "2015-11-10T15:53:20Z"
}

  RELEASE: Red Hat Enterprise Linux Server release 7.1 (Maipo)
  FOREMAN: 1.11.0-develop
     RUBY: ruby 2.0.0p598 (2014-11-13) [x86_64-linux]
   PUPPET: 3.8.4
Comment 8 Tomer Brisker 2016-04-12 08:43:11 EDT
This seems to be resolved in current snaps for Sat6.2. Please retest.
Comment 9 Tomas Strachota 2016-05-27 10:07:19 EDT
Verified in snap 13, POST call returned full details.
Comment 11 errata-xmlrpc 2016-07-27 04:50:45 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/RHBA-2016:1500
Comment 12 Ohad Levy 2016-12-01 03:44:37 EST
*** Bug 1232855 has been marked as a duplicate of this bug. ***
Comment 13 Ohad Levy 2016-12-01 04:07:11 EST
*** Bug 1235019 has been marked as a duplicate of this bug. ***

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