1. Upload a collection with \ and associate it with a repository_version so it's not an orphan.
2. Upload a second collection with \ and associate it with a repository_version so it's not an orphan.
At this point I expect the /pulp/api/v3/ansible/collection_versions to show you two CollectionVersions. Once story 5520 is implemented you would see exactly 1 Collection (deduplicated since they share Collection.
3. Now unassociate the version=1.0 collection
4. Run orphan cleanup and verify the Collection verson=1.0 was deleted from Pulp entirely. Now you'll have 1 Collection and 1 CollectionVersion
5. Now unassociate the version=2.0 collection
6. Run orphan cleanup again and verify the Collection version=2.0 was deleted from Pulp entirely.
7. Now list a Collection using the endpoint from 5520 and observe it still shows the Collection even though there are 0 CollectionVersions, this is the bug.
Solutions
Add a post_delete hook on CollectionVersion that will identify if it's the last CollectionVersion referring to that Collection and delete the Collection also if so.
Author: @bmbouter (bmbouter)
Redmine Issue: 5521, https://pulp.plan.io/issues/5521
Problem
1. Upload a collection with \ and associate it with a repository_version so it's not an orphan. and associate it with a repository_version so it's not an orphan.
2. Upload a second collection with \
At this point I expect the
/pulp/api/v3/ansible/collection_versions
to show you two CollectionVersions. Once story 5520 is implemented you would see exactly 1 Collection (deduplicated since they share Collection.3. Now unassociate the version=1.0 collection
4. Run orphan cleanup and verify the Collection verson=1.0 was deleted from Pulp entirely. Now you'll have 1 Collection and 1 CollectionVersion
5. Now unassociate the version=2.0 collection
6. Run orphan cleanup again and verify the Collection version=2.0 was deleted from Pulp entirely.
7. Now list a Collection using the endpoint from 5520 and observe it still shows the Collection even though there are 0 CollectionVersions, this is the bug.
Solutions
Add a post_delete hook on CollectionVersion that will identify if it's the last CollectionVersion referring to that Collection and delete the Collection also if so.