Ansible-5.0.0 Schedule
Previous release schedules are found on: https://docs.ansible.com/ansible/devel/roadmap/ansible_roadmap_index.html
Background
Community meeting ticket: https://github.com/ansible-community/community-topics/issues/21
We're now on a six month release schedule
Ansible-5.0.0 will release approximately six months after Ansible-4.0.0. We're trying to align our schedule to be about one month after ansible-core releases.
What are release blocking issues?
The ansible-5.0.0 release will be based on ansible-core-2.12. ansible-core-2.12 comes with a number of backwards incompatible changes which may need to be discovered as people test the ansible package.
New collections that block release
Some collections failed to meet the deadline for the Ansible-4.0.0 release. Is there anything we can do to help those (and other) collections meet the Ansible-5.0.0 deadline?
Other collection release schedules that block release
Some collections try to align their major (backwards incompatible) releases with our release schedule. It would be great if those collections would tell us before beta1 that they are planning to get a release out before then so we can check in on whether they are going to make it before the release.
How to submit new collections
New collections that want to be included in ansible-5 must be submitted as a discussion on this github repo: https://github.com/ansible-collections/ansible-inclusion/
Collections will be reviewed to see if they meet our quality bar for inclusion. The criteria evolves over time but generally follows this: https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst
Of special note:
Inclusion of a new collection in the Ansible package is ultimately at the discretion of the Ansible community review committee. Every rejected candidate will get feedback. Differences of opinion should be taken to the community irc meeting for discussion and a final vote.
A review can be delayed, possibly missing the 5.0 deadline, if a reviewer notes something in the collection that they think needs to be changed and the collection owner disagrees. Be sure to submit your reviews as early as possible so that there's time for any discussion that's needed and be sure to work on any issues raised by reviewers so that the collection can be added.
Changes to ansible for existing collections
Although not explicitly listed in the schedule, there are appropriate times for existing collections to ask for changes to their status. These have to be looked at on a case by case basis but here's two examples that should help illustrate when to do things:
- A collection that was in Ansible-4 wants to be dropped for Ansible-5.
- It is best if dropping collections can go through a period of deprecation before dropping. Ideally we'd like it to announce its deprecation at the beginning of the Ansible-4 cycle and then be removed when Ansible-5 development starts. In some circumstances, a removal can be done as late as beta1, the feature freeze, but that should be the exception, not the rule.
- A collection that was in Ansible-4 wants to deprecate itself and redirect most of its functionality to another collection.
- Please do this before ansible-5.0.0.beta1.
- A collection that was in Ansible-4 wants to be pinned to a specific version in Ansible-5 because of major bugs or incompatibilities with another collection.
- It's best to do this before ansible-5.0.0.rc1. However, this could be considered a bugfix so it could happen after rc1 (possibly triggering a new rc) or even in a minor update of ansible-5.x. Please add it as an issue to the community meeting agenda and we can discuss the specific case.
Proposed Schedule for Ansible-5.0
This release is intended to bring in the new ansible-core-2.12 package as a dependency. Thus we need to be aware of ansible-core's schedule: https://docs.ansible.com/ansible/devel/roadmap/ROADMAP_2_12.html
- (AC): ansible-core package, releases on Mondays
- (AN): ansible package, releases on Tuesdays
- (AN) 2021-04-14 - New Collections may be reviewed for inclusion in ansible-5.
- (AN) 2021-06-10 - Copied files for the Ansible-5 ansible-build-data.
- (AC) 2021-08-30 Feature Freeze No new functionality (including modules/plugins) to any code
- (AC) 2021-09-13 - Start of ansible-core-2.12 betas (weekly, as needed)
- (AN) 2021-09-21 - ansible-5.0.0 alpha1 (biweekly: goal find bugs in the integration with ansible-core)
- [AnsibleFest 2021-09-29 - 2021-09-30]
- (AC) 2021-10-04 Start of ansible-core release candidates (and stable-2.12 branching from devel) (weekly, as needed)
- (AN) 2021-10-05 - ansible-5.0.0 alpha2
- (AN) 2021-10-12 - last day for new collections to be submitted for inclusion in ansible-5. Note that collections MUST be reviewed and approved before being included. There is no guarantee that we will review every collection. The earlier your collection is submitted, the more likely it will be that your collection will be reviewed and the necessary feedback can be addressed in time for inclusion.
- (AN) 2021-10-13 - Community IRC Meeting topic: list any new collection reviews which block release. list any backwards incompatible collection releases that beta1 should try to accommodate.
- (AN) 2021-10-19 - ansible-5.0.0 alpha3
- (AN) 2021-10-20 - Community IRC Meeting topic: Decide what contingencies to activate for any blockers that do not meet the deadline.
- (AC) 2021-10-25 ansible-core-2.12 release
- (AN) 2021-10-25 - last day for new collections to be approved for inclusion in ansible-5
- (AN) 2021-10-25 - last day for collections to make backwards incompatible releases that will be accepted into Ansible-5.
- (AN) 2021-10-26 - Create the ansible-build-data directory and files for Ansible-6. new collection approvals will target this.
- (AN) 2021-10-26 - ansible-5.0.0 beta1 (weekly: goal allow collection owners and users to test and fix bugs)
- (AN) 2021-11-02 - ansible-5.0.0 beta2
- (AN) 2021-11-09 - ansible-5.0.0 rc1 (weekly: goal give end users a change to test and report blocker bugs)
- (AN) 2021-11-16 - ansible-5.0.0 release
Note The US Thanksgiving Holiday is 2021-11-25, so if we have to slip, we'll probably slip two weeks so that final is on 2021-11-30
TBD