We’ve been using Ansible for about two years to manage complex deployments. To simplify our approach, we use a custom Debian container that houses our playbooks and the Ansible Core version.
We started on Ansible Core 2.16 and are now trying to upgrade to 2.18. However, we’ve run into issues with our RHEL 8.10 target servers. We realized that each Ansible version has a minimum Python requirement, and RHEL 8.10 defaults to Python 3.6, which is no longer supported by newer Ansible versions.
We tried upgrading the target servers to Python 3.12, but we found that while the core Python works, many essential modules (like dnf) aren’t available for 3.12 on RHEL 8.
The majority of our fleet is RHEL 9, but we still have several RHEL 8 systems to maintain. We’re currently considering two paths:
Maintaining two environments: Ansible Core 2.16 for RHEL 8 and the latest Ansible Core for RHEL 9/10.
Dropping advanced modules (like dnf) for RHEL 8 and using the command or shell modules instead.
Are these our only options? How are other admins managing RHEL 8.10 systems today? Are you staying on older Ansible Core versions, or is there a better way to handle the Python dependency that we’ve missed?
So, the best strategy would be to upgrade RHEL 8.10 to python 3.9 and wait for the 2.21.
Are there other modules that we will have problem with?
Will 2.21 still work on python 3.9 ?