F42 Change Proposal: Ansible 11 (Self-Contained)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wiki - https://fedoraproject.org/wiki/Changes/Ansible11
Discussion Thread -
https://discussion.fedoraproject.org/t/f42-change-proposal-ansible-11-self-contained/132053

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.

== Summary ==

Update to Ansible 11 and Ansible Core 2.18, which no longer supports
Python 2.7 and Python 3.6 target nodes, including EL 7 and EL 8 hosts.

== Owner ==
* Name: [[User:gotmax23| Maxwell G]]; [[User:nirik| Kevin Fenzi]]
* Email: maxwell@xxxxxxx; kevin@xxxxxxxxx



== Detailed Description ==
The premise of the change proposal is simple — a major version update
from Ansible 9 ({{package|ansible}}) / Ansible Core 2.16
({{package|ansible-core}}) to Ansible 11 / Ansible Core 2.18. This is
being filed as a Change proposal instead of a standard update due to
major breaking changes.

Ansible Core 2.18's minimum supported Python version on target nodes
is Python 3.8 - 3.13. This means that Ansible will no longer be able
to interact with RHEL 8 hosts (system Python is Python 3.6) or RHEL 7
hosts (system Python is Python 2.7). Ansible Core upstream plans to be
more aggressive with dropping support for older Python versions on
target nodes in the feature.

Ansible 9, the last release that supports Python 2.7 and Python 3.6
target nodes, will go EOL upstream in November 2024, so we must update
to the latest Ansible to continue receiving upstream support.

The collections included in the Ansible 11 package will also receive
the usual updates to their latest respective major versions. See the
upstream roadmaps linked in the Documentation section for more details
about other more minor Ansible Core changes and the release schedules
for both Ansible and Ansible Core.

== Feedback ==

(FAQ)

* What about alternative Python interpreters on RHEL 8? Can Ansible
Core 2.18 use those and keep support for RHEL 8?

Kind of. The appstream repository does indeed provide
[https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/installing-and-using-dynamic-programming-languages_configuring-basic-system-settings#con_python-versions_assembly_introduction-to-python
alternative, newer Python interpreter versions], in addition to the
default system Python version. Ansible ''can'' execute modules on
target nodes using an alternative Python interpreter if the
<code>ansible_python_interpreter</code> var is set appropriately, but
core functionality such as the <code>ansible.builtin.package</code> /
<code>ansible.builtin.dnf</code> module require access to system
libraries that are only available for the default system Python
interpreter. Users are therefore not recommended to update to Ansible
Core 2.18 if they still require compatibility with RHEL 8 hosts.

* Can a compat package with an older Ansible Core version be provided?

Maybe. Ansible Core only adds support for new Python versions in new
major releases, not the minor releases in between, even though
multiple major release trains receive bugfix/security support at a
time. The Ansible Core 2.16 controller in Fedora 41 only works with
python3.13 thanks to a downstream patch. Additionally, even with our
patches, certain parts of the codebase — including the
<code>ansible-test sanity</code> tooling used by Ansible Collection
developers to lint their code — do not work properly with Python
versions not officially supported by upstream or its test
infrastructure.

If other users are interested in an Ansible Core 2.16 compat package
and willing to take primary responsibility for maintenance and forward
Python compatibility, please reach out to the Change owners.

== Benefit to Fedora ==

Fedora will have the latest version of Ansible and continue receiving
upstream support.

== Scope ==
* Proposal owners:
** Update the ansible and ansible-core packages
** Ensure Ansible Collections packages in Fedora are up to date and
compatible with the latest Ansible Core version.

* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** Ensure Ansible Collections packages in Fedora that are maintained
by packagers other than the Change owners are up to date and
compatible with the latest Ansible Core version.

== Upgrade/compatibility impact ==

Ansible Core 2.18's minimum supported Python version on target nodes
is Python 3.8 - 3.13. This means that Ansible will no longer be able
to interact with RHEL 8 hosts (Python 3.6) or RHEL 7 hosts (Python
2.7).

== How To Test ==

Install the latest ansible/ansible-core packages once they arrive in
the Fedora repos and ensure that your existing playbooks and installed
collections and roles continue to function.

== User Experience ==

Users will have the latest version of Ansible and Ansible Core.

== Dependencies ==

Ansible Collection packages in Fedora should be tested against the new
ansible-core release.

== Contingency Plan ==

* Contingency mechanism: Revert ansible-core and ansible updates
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)


== Documentation ==

* [https://docs.ansible.com/ansible/devel/roadmap/ROADMAP_2_18.html
Ansible Core 2.18 Roadmap]
* [https://docs.ansible.com/ansible/devel/roadmap/COLLECTIONS_11.html
Ansible 11 Roadmap]

== Release Notes ==

Update to Ansible 11 and Ansible Core 2.18, which no longer supports
Python 2.7 and Python 3.6 target nodes, including EL 7 and EL 8 hosts.


--
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- devel-announce@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-announce-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux