fao89 / pulp_ansible

A Pulp plugin that manages Ansible content, i.e. roles, collections
https://pulp-ansible.readthedocs.io/en/latest/
GNU General Public License v2.0
0 stars 0 forks source link

Collection model that has no CollectionVersion related objects needs to be removed somehow when orphaned #18

Open fao89 opened 2 years ago

fao89 commented 2 years ago

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.
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.

fao89 commented 2 years ago

From: @bmbouter (bmbouter) Date: 2019-10-03T17:14:46Z


Removing from automation hub blockers because in AH content will never be removed so it won't impact AH.