Story #1176
closed
As a user, I can remove Manifests from repositories
Status:
CLOSED - DUPLICATE
Description
We need pulp-admin and API support for removing Manifests from repositories. Removing a Manifest should also remove the Blobs it references, unless other Manifests in the same repository also reference those Blobs.
- Blocks Task #1048: Tracker for Docker v2 API and Manifest work added
There is a race condition concern with removing associated blobs when removing a manifest. The blob should only be removed only if not referenced by ANY manifest in the repository. Since associate/disassociate operations happen concurrently this can happen:
process-1: Remove manifest-123 which references blob-1
process-1: See if a blob-1 is referenced by any other manifests. result is - nope.
process-2: Add manifest-1 that references blob-1.
process-2: Add blob-1
process-1: Removes blob-1 (thinks it's not referenced)
Now manifest-1 is in the repository and blob-1 is not.
- Status changed from NEW to ASSIGNED
- Assignee set to jortel@redhat.com
- % Done changed from 0 to 80
Looks like unassociate tasks run with reservation which addresses concurrency concern.
- Status changed from ASSIGNED to CLOSED - DUPLICATE
Also available in: Atom
PDF