Hide Forgot
For a single request I get back right result: $ curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=x [{"use_symlinks": false, "files": "/pulp/api/repositories/x/files/", "groupid": ["x"], "feed_cert": null, "sync_schedule": null, "clone_ids": [], "package_count": 0, "distributionid": [], "publish": true, "last_sync": null, "consumer_cert": null, "source": null, "relative_path": "x", "filters": [], "checksum_type": "sha256", "_id": "x", "arch": "noarch", "id": "x", "name": "x", "uri_ref": "/pulp/api/repositories/x/", "files_count": 0, "packages": "/pulp/api/repositories/x/packages/", "packagegroups": "/pulp/api/repositories/x/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/x/packagegroupcategories/", "errata": "/pulp/api/repositories/x/errata/", "distribution": "/pulp/api/repositories/x/distribution/", "keys": "/pulp/api/repositories/x/keys/", "comps": "/pulp/api/repositories/x/comps/"}] for multiple param query: $ curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=x&groupid=z [1] 8708 [pkilambi@prad pulp{master}]$ [{"use_symlinks": false, "files": "/pulp/api/repositories/x/files/", "groupid": ["x"], "feed_cert": null, "sync_schedule": null, "clone_ids": [], "package_count": 0, "distributionid": [], "publish": true, "last_sync": null, "consumer_cert": null, "source": null, "relative_path": "x", "filters": [], "checksum_type": "sha256", "_id": "x", "arch": "noarch", "id": "x", "name": "x", "uri_ref": "/pulp/api/repositories/x/", "files_count": 0, "packages": "/pulp/api/repositories/x/packages/", "packagegroups": "/pulp/api/repositories/x/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/x/packagegroupcategories/", "errata": "/pulp/api/repositories/x/errata/", "distribution": "/pulp/api/repositories/x/distribution/", "keys": "/pulp/api/repositories/x/keys/", "comps": "/pulp/api/repositories/x/comps/"}] its still only one result. So looks like we are only accounting for the first param.
looking closely I think this is a none issue, looks like https://localhost/pulp/api/repositories/?groupid=x&groupid=z is put in background after groupid=x& and ignoring groupid=z if i run the same command as: $ curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=x\&groupid=y [{"use_symlinks": false, "files": "/pulp/api/repositories/x/files/", "groupid": ["x"], "feed_cert": null, "sync_schedule": null, "clone_ids": [], "package_count": 0, "distributionid": [], "publish": true, "last_sync": null, "consumer_cert": null, "source": null, "relative_path": "x", "filters": [], "checksum_type": "sha256", "_id": "x", "arch": "noarch", "id": "x", "name": "x", "uri_ref": "/pulp/api/repositories/x/", "files_count": 0, "packages": "/pulp/api/repositories/x/packages/", "packagegroups": "/pulp/api/repositories/x/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/x/packagegroupcategories/", "errata": "/pulp/api/repositories/x/errata/", "distribution": "/pulp/api/repositories/x/distribution/", "keys": "/pulp/api/repositories/x/keys/", "comps": "/pulp/api/repositories/x/comps/"}, {"use_symlinks": false, "files": "/pulp/api/repositories/y/files/", "groupid": ["y"], "feed_cert": null, "sync_schedule": null, "clone_ids": [], "package_count": 0, "distributionid": [], "publish": true, "last_sync": null, "consumer_cert": null, "source": null, "relative_path": "y", "filters": [], "checksum_type": "sha256", "_id": "y", "arch": "noarch", "id": "y", "name": "y", "uri_ref": "/pulp/api/repositories/y/", "files_count": 0, "packages": "/pulp/api/repositories/y/packages/", "packagegroups": "/pulp/api/repositories/y/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/y/packagegroupcategories/", "errata": "/pulp/api/repositories/y/errata/", "distribution": "/pulp/api/repositories/y/distribution/", "keys": "/pulp/api/repositories/y/keys/", "comps": "/pulp/api/repositories/y/comps/"}]
This should be fixed as part of union-intersection feature.
When specifying multiple parameters, you should also specify what you want the behavior to be: _intersect or _union Example: GET /pulp/api/repositories/?groupid=x&groupid=y This will throw an error if no behavior is specified: MalformedFilters: Multiple values specified for groupid, but _intersect or _union operation not specified Example: GET /pulp/api/repositories/?groupid=x&groupid=y&_intersect=groupid This will return only repositories the belong to both the x and y groups Example: GET /pulp/api/repositories/?groupid=x&groupid=y&_union=groupid This will return repositories that are in either the x or y group
verified [root@preethi certs]# rpm -q pulp pulp-0.0.233-1.fc15.noarch [root@preethi certs]# curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=pulp&groupid=fedora&_intersect=fedora [1] 19792 [2] 19793 [root@preethi certs]# [{"use_symlinks": false, "package_count": 9580, "distributionid": [], "consumer_cert": null, "consumer_ca": null, "filters": [], "id": "f14-updates", "publish": true, "source": {"url": "http://download.fedora.redhat.com/pub/fedora/linux/updates/14/x86_64/", "type": "remote"}, "groupid": ["fedora", "pulp"], "files": "/pulp/api/repositories/f14-updates/files/", "relative_path": "pub/fedora/linux/updates/14/x86_64", "sync_schedule": null, "arch": "noarch", "feed_cert": null, "name": "f14-updates", "feed_ca": null, "notes": {}, "last_sync": "2011-09-22T11:24:13-04:00", "content_types": "yum", "clone_ids": [], "checksum_type": "sha256", "_id": "f14-updates", "uri_ref": "/pulp/api/repositories/f14-updates/", "files_count": 0, "packages": "/pulp/api/repositories/f14-updates/packages/", "packagegroups": "/pulp/api/repositories/f14-updates/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/f14-updates/packagegroupcategories/", "errata": "/pulp/api/repositories/f14-updates/errata/", "distribution": "/pulp/api/repositories/f14-updates/distribution/", "keys": "/pulp/api/repositories/f14-updates/keys/", "comps": "/pulp/api/repositories/f14-updates/comps/"}, {"use_symlinks": false, "package_count": 18, "distributionid": [], "consumer_cert": null, "consumer_ca": null, "filters": [], "id": "pulp", "publish": true, "source": {"url": "http://repos.fedorapeople.org/repos/pulp/pulp/fedora-14/x86_64/", "type": "remote"}, "groupid": ["pulp"], "files": "/pulp/api/repositories/pulp/files/", "relative_path": "repos/pulp/pulp/fedora-14/x86_64", "sync_schedule": null, "arch": "noarch", "feed_cert": null, "name": "pulp", "feed_ca": null, "notes": {}, "last_sync": "2011-09-23T11:56:15-04:00", "content_types": "yum", "clone_ids": [], "checksum_type": "sha256", "_id": "pulp", "uri_ref": "/pulp/api/repositories/pulp/", "files_count": 0, "packages": "/pulp/api/repositories/pulp/packages/", "packagegroups": "/pulp/api/repositories/pulp/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/pulp/packagegroupcategories/", "errata": "/pulp/api/repositories/pulp/errata/", "distribution": "/pulp/api/repositories/pulp/distribution/", "keys": "/pulp/api/repositories/pulp/keys/", "comps": "/pulp/api/repositories/pulp/comps/"}] [1]- Done curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=pulp [2]+ Done groupid=fedora [root@preethi certs]# [root@preethi certs]# [root@preethi certs]# curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=pulp&groupid=fedora&_union=fedora [1] 19801 [2] 19802 [root@preethi certs]# [{"use_symlinks": false, "package_count": 9580, "distributionid": [], "consumer_cert": null, "consumer_ca": null, "filters": [], "id": "f14-updates", "publish": true, "source": {"url": "http://download.fedora.redhat.com/pub/fedora/linux/updates/14/x86_64/", "type": "remote"}, "groupid": ["fedora", "pulp"], "files": "/pulp/api/repositories/f14-updates/files/", "relative_path": "pub/fedora/linux/updates/14/x86_64", "sync_schedule": null, "arch": "noarch", "feed_cert": null, "name": "f14-updates", "feed_ca": null, "notes": {}, "last_sync": "2011-09-22T11:24:13-04:00", "content_types": "yum", "clone_ids": [], "checksum_type": "sha256", "_id": "f14-updates", "uri_ref": "/pulp/api/repositories/f14-updates/", "files_count": 0, "packages": "/pulp/api/repositories/f14-updates/packages/", "packagegroups": "/pulp/api/repositories/f14-updates/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/f14-updates/packagegroupcategories/", "errata": "/pulp/api/repositories/f14-updates/errata/", "distribution": "/pulp/api/repositories/f14-updates/distribution/", "keys": "/pulp/api/repositories/f14-updates/keys/", "comps": "/pulp/api/repositories/f14-updates/comps/"}, {"use_symlinks": false, "package_count": 18, "distributionid": [], "consumer_cert": null, "consumer_ca": null, "filters": [], "id": "pulp", "publish": true, "source": {"url": "http://repos.fedorapeople.org/repos/pulp/pulp/fedora-14/x86_64/", "type": "remote"}, "groupid": ["pulp"], "files": "/pulp/api/repositories/pulp/files/", "relative_path": "repos/pulp/pulp/fedora-14/x86_64", "sync_schedule": null, "arch": "noarch", "feed_cert": null, "name": "pulp", "feed_ca": null, "notes": {}, "last_sync": "2011-09-23T11:56:15-04:00", "content_types": "yum", "clone_ids": [], "checksum_type": "sha256", "_id": "pulp", "uri_ref": "/pulp/api/repositories/pulp/", "files_count": 0, "packages": "/pulp/api/repositories/pulp/packages/", "packagegroups": "/pulp/api/repositories/pulp/packagegroups/", "packagegroupcategories": "/pulp/api/repositories/pulp/packagegroupcategories/", "errata": "/pulp/api/repositories/pulp/errata/", "distribution": "/pulp/api/repositories/pulp/distribution/", "keys": "/pulp/api/repositories/pulp/keys/", "comps": "/pulp/api/repositories/pulp/comps/"}] [1]- Done curl -k -u admin:admin https://localhost/pulp/api/repositories/?groupid=pulp [2]+ Done groupid=fedora [root@preethi certs]#
Pulp v1.0 is released Closed Current Release.