Red Hat Bugzilla – Bug 1021579
No error when criteria inside request body lack the required type_ids (when unassociating this results in an empty repository)
Last modified: 2015-02-28 16:59:28 EST
Description of problem:
While making a script to remove a set of packages, I encountered a stubborn error: When performing a POST request to "/pulp/api/v2/repositories/pulp2-cleanup-test/actions/unassociate/" with message body resembling following json:
I ran into the fact that it did not remove the package with ID 5b1feecc-5b48-40a6-a890-39f0bf5b3960; It removed ALL of the repositories packages.
After some talking to the developers I was pointed out that without a type_id specified, the filters would all be dropped, what remains was an unassociate query without filtering: resulting in every package being removed.
This is how the packages are not all being dropped any longer:
I do think this should be properly documented or/and should throw an error instead of just wiping out repositories. ^^
I would consider this to be an API bug, it is unexpected that all of the units are unassociated. I will document it for now but it should be fixed for Pulp 3.0.
doc update: https://github.com/pulp/pulp/pull/1327
docs update is merged to 2.4-release and up, changing BZ component to API/integration for the actual fix
This is the case for more than just this call. Many API calls that use critera to filter results have a similar issue.
Moved to https://pulp.plan.io/issues/379