Ansible 6.0.0a2 (including ansible-core 2.13.0rc1) available for testing

17 views
Skip to first unread message

David Moreau Simard

unread,
May 4, 2022, 6:49:21 PM5/4/22
to ansibl...@googlegroups.com, ansible...@googlegroups.com, ansible-...@googlegroups.com
Hi all,

We're happy to announce that the second alpha release of Ansible 6.0 is
now available for testing !

Ansible 6.0.0 will include ansible-core 2.13 as well as a curated set of
Ansible collections to provide a vast number of modules and plugins.

This is a major version update from Ansible 5.x which included
ansible-core 2.12 and there may be backwards incompatibilities in the
core playbook language.

Please see the porting guide (linked at the bottom) for details.

How to get it
-------------

This pre-release is available on PyPI and can be installed with pip:

```
$ pip install ansible==6.0.0a2 --user
```

The sources for this release can be found here:

Release tarball:
https://pypi.python.org/packages/source/a/ansible/ansible-6.0.0a2.tar.gz
SHA256: 354004b35aec39d22d9ef47b8a708a9cafb7760a0187c93f8914c939cb0abb6f

Wheel package: https://files.pythonhosted.org/packages/py3/a/ansible/ansible-6.0.0a2-py3-none-any.whl
SHA256: f86a92a86c4bb8053604f1ca805440b8532137f57ab70fb6bddb0e6c25ad1afe

What's new in Ansible 6.0.0a2
---------------------------

* Python wheels are now available for both Ansible 6 and ansible-core
2.13.x, resulting in significantly improved installation performance.

* In addition, Ansible 6 will no longer install some unnecessary files
from the included Ansible collections such as tests or hidden files &
directories in order to further improve installation performance and
reduce the size on disk. These files are still available in the source
tarball if necessary.

* The changelog for ansible-core 2.13 installed by this release of
ansible is available here:
https://github.com/ansible/ansible/blob/stable-2.13/changelogs/CHANGELOG-v2.13.rst

* Collections which have opted into being a part of the Ansible-6
unified changelog will have an entry on this page:
https://github.com/ansible-community/ansible-build-data/blob/main/6/CHANGELOG-v6.rst

* For collections which have not opted into the unified changelog, you
may find more information on https://galaxy.ansible.com or their
source repository.
For example, the community.crypto collection would be found at
https://galaxy.ansible.com/community/crypto and you can find a link to
the source repository under the "Repo" button at the top right.

What's the schedule for new Ansible releases after 6.0.0a2 ?
---------------------------------------------------------

* Maintenance releases of Ansible 5.x will occur approximately every
three weeks (Ansible 5.8.0, Ansible 5.9.0, etc) until the release of
Ansible 6.0.0. They will contain bugfixes and new features but no
backwards incompatibilities.

* There will be more alpha and beta releases leading up to the stable
release of ansible 6.0.0 expected on 2022-06-21. More information
can be found in the Ansible 6 roadmap:
https://docs.ansible.com/ansible/devel/roadmap/COLLECTIONS_6.html

* Please note that the release of ansible-core 2.13 in May 2022 will
coincide with the end-of-life of ansible 2.9 and ansible-base 2.10:
https://groups.google.com/g/ansible-announce/c/kegIH5_okmg/

Porting Help
-------------

A unified porting guide for collections which have opted-in is available here:
https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_6.html

Getting collection updates from Ansible 6 with older releases of ansible-core
-----------------------------------------------------------------

Ansible 6 includes ansible-core 2.13.x and users have expressed an interest
in getting collection updates as they ship in the Ansible "batteries
included" package while keeping an older version of ansible-core based
on their needs and requirements.

An ansible-galaxy requirements file based on the collections from
Ansible 6 has been made available for this use case:
https://github.com/ansible-community/ansible-build-data/blob/main/6/galaxy-requirements.yaml

Once the requirements file has been downloaded, the collections can be
installed by running:
"ansible-galaxy collection install -r galaxy-requirements.yaml"

On behalf of the Ansible community, thank you and happy automating !

Nico Kadel-Garcia

unread,
May 5, 2022, 7:35:07 PM5/5/22
to ansible...@googlegroups.com
On Wed, May 4, 2022 at 6:49 PM David Moreau Simard <dmsi...@redhat.com> wrote:
>
> Hi all,
>
> We're happy to announce that the second alpha release of Ansible 6.0 is
> now available for testing !
>
> Ansible 6.0.0 will include ansible-core 2.13 as well as a curated set of
> Ansible collections to provide a vast number of modules and plugins.

I've mentioned before that I disagree with this language: The ansible
package does not include ansible-core, it lists a requirement for the
separately bundled ansible-core of the desired version. There may be
some model of an ansible suite that includes both, but the duplication
of the "ansible" name with what really a large bundle installed at
"ansible_collections" remains confusing.

In this case, the update and the dependency on a new ansiblle-core
creates a packaging problem. ansible-core 2.13 requires python modules
that are not available as RPMs in any RHEL release, even in the new
CentOS 9. It requires Jinja 3.0.3 or better,

I've been publishing RPM building tools for ansible and ansible-core
for a while now, but the dependency chain for this is too large
because the jinja2 update means a sphinx update, which is also not
available at all for python 3.8 on RHEL 8. It's only going to be
possible to pip install it on RHEL until, and unless, someone dees the
extra work to bundle a much updated jinja2 module with the whole
dependency stack, and messing with sphinx is begging for issues with
other packages.

I reported this on he git repo for ansible-core, the answer seemed
strange from Red Hat employees selling services for Red Hat owned
software like Ansible Tower and its freeware components, ansible and
ansible-core, to say " I'll quote:

It is the responsibilities of the distributions, and those who
maintain the packages to provide this functionality if they wish to
provide ansible-core packages. From an upstream perspective, the only
supported installation method going forward is pip via the packages
published to pypi.org.

This seems very strange since the recommended server for Ansible Tower
is RHEL 8, and the critical ansible developers are Red Hat employees.
Their company *is* the distributor of ansible, Ansible Tower, of RHEL,
and of CentOS. And relying on "pip install" is similar to the old
"cpan install" problem, and the "ant", "man","gradle", and "golang"
problem of not knowing which version of which components your
installation process may provide unless you do far more work than
writing packages in the first place.

Been there, done this, with old tools like subversion (that required
updated versions of SQLite) and numerous python and Java environments.
I've been happy to provide RPM packaging tools for RHEL users, but
ansible 6 and ansible-core 2.4.13 are more work than I can do for the
immediate future. I can publish an ansible 6 RPM builder that simply
lowers the ansible-core requirement, and probably shall just to have a
testable setupe.
> --
> You received this message because you are subscribed to the Google Groups "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAH7C%2BPqMnTZ%3D-PGyX9W-HSzY_RBqMNYsxoGCJq4SWTam07LmDw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages