Bug 752791

Summary: API: Listing all distributions is inconstant with how other objects are retrieved
Product: [Retired] Pulp Reporter: Peter Meier <peter.meier>
Component: z_otherAssignee: Pradeep Kilambi <pkilambi>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.0.0Keywords: Triaged
Target Milestone: ---   
Target Release: Sprint 30   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-24 20:13:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 753813    

Description Peter Meier 2011-11-10 12:49:12 UTC
Description of problem:

Listing all distributions via API differs from how other objects are listed.

Version-Release number of selected component (if applicable):

# rpm -qa | grep pulp
pulp-admin-0.0.244-5.fc15.noarch
pulp-0.0.244-5.fc15.noarch
pulp-common-0.0.244-5.fc15.noarch
mod_wsgi-3.2-6.pulp.fc15.i686
m2crypto-0.21.1.pulp-5.fc15.i686
pulp-client-lib-0.0.244-5.fc15.noarch


How reproducible:

The documentation @ https://fedorahosted.org/pulp/wiki/UGREST-Distributions tells that we can get a list of distributions with a GET on /distributions/, exactly the same way as we would get all items of other objects, like GET /repositories/.

However a GET on /distributions/ returns a 404:

127.0.0.1 - - [10/Nov/2011:12:12:25 +0100] "GET /pulp/api/distributions/ HTTP/1.1" 404 9

Nothing is logged in pulp.log

Looking into a request made by the cli, we can see that listing all Distributions is done via GET /distribution/ (<- mind the missing s )

127.0.0.1 - - [10/Nov/2011:12:33:40 +0100] "GET /pulp/api//distribution/ HTTP/1.1" 200 2

Actual results:

404 - ResourceNotFound

Expected results:

200: []

Additional info:

As all the other objects can also be listed via the plural of their name, the same schema should also be used to retrieve all Distributions.

Comment 1 Pradeep Kilambi 2011-11-11 20:12:25 UTC
fixed! commit 62d3c95730d11cc5441b209139e5a8978feb0def


$ curl -k -H "Content-Type: application/json"  -u admin:admin https://localhost/pulp/api/distributions/
[{"files": ["/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/initrd.img", "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/repomd.xml", "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/vmlinuz", "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/.treeinfo", "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/efiboot.img", "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/boot.iso", "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64/efidisk.img"], "description": "ks-Fedora-None-16-x86_64", "family": "Fedora", "relativepath": "/var/lib/pulp/distributions/ks-Fedora-None-16-x86_64", "variant": null, "id": "ks-Fedora-None-16-x86_64", "version": "16", "timestamp": "2011-11-03T07:39:38", "_id": "ks-Fedora-None-16-x86_64", "arch": "x86_64", "_ns": "distribution", "url": ["http://prad.rdu.redhat.com/pulp/ks/released/F-16/GOLD/Everything/x86_64/os/"]}]

$ curl -k -H "Content-Type: application/json"  -u admin:admin https://localhost/pulp/api/distributions/ -w '%{http_code}'
[] 200

Documentation update:

https://fedorahosted.org/pulp/wiki/UGREST-Distributions

this should make it into next qe build

Comment 2 Jeff Ortel 2011-11-17 03:06:24 UTC
build: 0.249

Comment 3 Preethi Thomas 2011-12-15 19:26:34 UTC
verified
[root@preethi ~]# rpm -q pulp
pulp-0.0.254-7.fc15.noarch
[root@preethi ~]# 


[root@preethi ~]# curl -k -H "Content-Type: application/json"  -u admin:admin https://localhost/pulp/api/distributions/
[{"files": ["/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/.treeinfo", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/initrd.img", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/efidisk.img", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/vmlinuz", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/boot.iso", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/efiboot.img", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/repomd.xml"], "description": "ks-Fedora-Fedora-15-x86_64", "family": "Fedora", "relativepath": "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64", "variant": "Fedora", "id": "ks-Fedora-Fedora-15-x86_64", "version": "15", "timestamp": "2011-05-13T15:44:30", "_id": "ks-Fedora-Fedora-15-x86_64", "arch": "x86_64", "_ns": "distribution", "repoids": ["f15"], "url": ["http://preethi.usersys.redhat.com/pulp/ks/released/F-15/GOLD/Fedora/x86_64/os/"]}][root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]# curl -k -H "Content-Type: application/json"  -u admin:admin https://localhost/pulp/api/distributions/ks-Fedora-Fedora-15-x86_64/
{"files": ["/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/.treeinfo", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/initrd.img", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/efidisk.img", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/vmlinuz", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/boot.iso", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/efiboot.img", "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64/repomd.xml"], "description": "ks-Fedora-Fedora-15-x86_64", "family": "Fedora", "relativepath": "/var/lib/pulp/distributions/ks-Fedora-Fedora-15-x86_64", "variant": "Fedora", "id": "ks-Fedora-Fedora-15-x86_64", "version": "15", "timestamp": "2011-05-13T15:44:30", "_id": "ks-Fedora-Fedora-15-x86_64", "arch": "x86_64", "_ns": "distribution", "repoids": ["f15"], "url": ["http://preethi.usersys.redhat.com/pulp/ks/released/F-15/GOLD/Fedora/x86_64/os/"]}[root@preethi ~]#

Comment 4 Preethi Thomas 2012-02-24 20:13:10 UTC
Pulp v1.0 is released
Closed Current Release.