# \[Vote ended on 2025-06-13\] Collection requirements: declare that Galaxy artifacts must not be deleted once they appear in Ansible releases

**URL:** <https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132>\
**Category:** Project Discussions\
**Tags:** release-management, community-wg, galaxy-ng\
**Created:** [June 3, 2025, 1:34pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132 "2025-06-03T13:34:43Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 3, 2025, 1:34pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/1 "2025-06-03T13:34:44Z")

</div>

Some days ago netapp.storagegrid 21.15.0 was deleted from Ansible Galaxy (see [issue](https://github.com/ansible-collections/netapp.storagegrid/issues/31) for more info), despite that collection being part of Ansible 12.0.0a4.

This makes it impossible to rebuild Ansible 12.0.0a4 (which isn’t that big a problem, since it’s an alpha release), but also prevents any new Ansible 12 release from being created: when trying to compose the changelog, antsibull-build fails as it cannot find netapp.storagegrid 21.15.0.

To try to prevent this from happening again, resp. making it clearer that this is not OK, I’ve created a PR to update the inclusion requirements that Galaxy artifacts that are part of Ansible releases must not be deleted: [Collection requirements: declare that Galaxy artifacts must not be deleted once they appear in Ansible releases by felixfontein · Pull Request #2678 · ansible/ansible-documentation · GitHub](https://github.com/ansible/ansible-documentation/pull/2678)

To fix the current situation, we basically either have to adjust the dependency data for the Ansible 12.0.0a4 release ([PR for that](https://github.com/ansible-community/ansible-build-data/pull/553)), or somehow teach antsibull-build to build a changelog when a release is missing. (@gotmax23 suggested to update the 12.0.0a4 dependency data and update the guidelines in the release management Matrix room.)

What do you think of the PR, especially everyone in [@SteeringCommittee](https://forum.ansible.com/groups/steeringcommittee)?

---

<div class="post-metadata">

**Author:** ![bcoca](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/bcoca/32/9269_2.png) [@bcoca](https://forum.ansible.com/u/bcoca)\
**Post date:** [June 3, 2025, 2:06pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/2 "2025-06-03T14:06:21Z")

</div>

This is one of the reasons why galaxy initially did not allow deletion by users, required admin.

I would add a check to galaxy (admin overridable) that won’t delete a collection/collection version if it leaves unmet dependencies. This is not easy to add as it would require not only being able to run ‘resolving deps’ as ansible-galaxy does, but keeping that info on each namespace/collection version group.

lstrip strikes again!

---

<div class="post-metadata">

**Author:** ![mariolenz](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/mariolenz/32/108_2.png) [@mariolenz](https://forum.ansible.com/u/mariolenz)\
**Post date:** [June 3, 2025, 3:29pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/3 "2025-06-03T15:29:38Z")

</div>

I think that we should add this collection requirement.

However, if someone doesn’t follow this requirement and deletes a release on galaxy we run into the same problem. As a requirement it’s fine, but in the long run it wouldn’t prevent a situation like the one we’re running into at the moment.

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 3, 2025, 5:44pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/4 "2025-06-03T17:44:29Z")

</div>

> [@mariolenz](#):
>
> However, if someone doesn’t follow this requirement and deletes a release on galaxy we run into the same problem. As a requirement it’s fine, but in the long run it wouldn’t prevent a situation like the one we’re running into at the moment.

We definitely do, but at least then we can force them to re-upload that version since they violated this rule. (If they don’t do that, well, we still have a problem…)

---

<div class="post-metadata">

**Author:** ![bcoca](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/bcoca/32/9269_2.png) [@bcoca](https://forum.ansible.com/u/bcoca)\
**Post date:** [June 3, 2025, 6:06pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/5 "2025-06-03T18:06:54Z")

</div>

s/force/ask nicely and apply peer pressure if that fails/

At least it should note that author(s) will be considered untrustworthy for future versions.

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [June 3, 2025, 6:19pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/6 "2025-06-03T18:19:41Z")

</div>

I agree with updating a-b-d and the collection requirements to prevent this from happening again, but as mentioned in [https://github.com/ansible-community/ansible-build-data/pull/553](https://github.com/ansible-community/ansible-build-data/pull/553) neither I nor the other release-management-wg members are particularly happy about having to retroactively change a release’s build data. I think we should also ask Galaxy team to consider disabling collection deletion on the public Galaxy instance at least for collections in Ansible if not for everything to prevent this from happening again. If collection maintainers have a really compelling reason to remove a collection release, and it hasn’t already been added to an Ansible release, it can be deleted by an admin.

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 4, 2025, 5:23am UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/7 "2025-06-04T05:23:46Z")

</div>

I’m going to merge [Modify Ansible 12.0.0a4 to contain netapp.storagegrid 21.14.0 instead of 21.15.0 by felixfontein · Pull Request #553 · ansible-community/ansible-build-data · GitHub](https://github.com/ansible-community/ansible-build-data/pull/553) (that changes the version of netapp.storagegrid in 12.0.0a4) soon so we can do a 12.0.0a5 release (since ansible-core 2.19.0b5 has been released). If anyone objects, please say so now 🙂

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 4, 2025, 6:42pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/8 "2025-06-04T18:42:28Z")

</div>

As discussed in today’s community meeting, let’s vote on the PR. The vote is **open until 2025-06-11**.

_Poll ([view on site](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/8))_

_Poll ([view on site](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/8))_

---

<div class="post-metadata">

**Author:** ![russoz](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/russoz/32/127_2.png) [@russoz](https://forum.ansible.com/u/russoz)\
**Post date:** [June 9, 2025, 1:45am UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/9 "2025-06-09T01:45:39Z")

</div>

I will abstain myself from this one - as mentioned in other discussions, I believe ~~herding the cats of~~ maintaining the ansible community package brings more hassle than benefits, but that’s my opinion, and to me this particular discussion illustrates the point.

Should we start adding the “no option” as an alternative to the polls? I feel compelled to write something to show that I have seen the poll and have taken action on it (even if my action is no action), but I sound like a broken record.

---

<div class="post-metadata">

**Author:** ![gotmax23](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gotmax23/32/106_2.png) [@gotmax23](https://forum.ansible.com/u/gotmax23)\
**Post date:** [June 9, 2025, 4:17am UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/10 "2025-06-09T04:17:36Z")

</div>

I like the idea adding an abstain option to voting polls going forward.

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 9, 2025, 7:59pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/11 "2025-06-09T19:59:32Z")

</div>

[@SteeringCommittee](https://forum.ansible.com/groups/steeringcommittee) please note the above vote. We only got feedback from 5 out of 12 SC persons so far, and the vote closes in two days.

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 9, 2025, 8:08pm UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/12 "2025-06-09T20:08:45Z")

</div>

Let’s continue the abstain discussion here: [Steering Committee votes: add an "abstain" option, and count it to quorum or not?](https://forum.ansible.com/t/43252)

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [June 13, 2025, 11:02am UTC](https://forum.ansible.com/t/vote-ended-on-2025-06-13-collection-requirements-declare-that-galaxy-artifacts-must-not-be-deleted-once-they-appear-in-ansible-releases/43132/13 "2025-06-13T11:02:21Z")

</div>

I closed the vote (sorry I only managed now, I forgot on Wednesday). The result is clear: there are 7 SC votes and 2 community votes for merging the PR, and no votes against it. I’m going the merge the PR then.

Thanks everyone!
