Changes in the Ansible packaging: Ansible 2.17.x dropping support for machines machines with Python3.6 (SLE15 / Leap 15.x)
Dear all, Ansible 2.17.x (or rather ansible-core 2.17.x) is dropping support for managing machines with Python 3.6 or older. Which unfortunately means SLES15 or Leap15.x are no longer supported out of the box. While you can install a newer python on those machines, that might not always be feasible. Hence I will keep packaging the 2.16.x version of ansible-core as ansible-core-2.16 (and ansible-test-2.16) in addition to the 2.17.x ones. As the Ansible package (the one with all the collections, not the core one) has a dependency on the ansible-core package in a specific version, I will also keep packaging this as ansible-9 in addition to the ansible package, which is at version 10.x and requires ansible-core 2.17.x. If you currently have ansible-core or ansible installed, you will get the 2.17.x or 10.x versions respectively. If you want to switch to the "older" release, install the ansible-core-2.16 or ansible-9 packages. As soon as upstream drops support for the 2.16.x or 9.x versions, I'll remove the package from Tumbleweed. But until you have a choice. ansible-core-2.16 and ansible-9 have been included in Tumbleweed today, I'll submit the newer versions of ansible-core and ansible on Sunday. Have a nice weekend, everyone! Kind Regards, Johannes P.S.: Installing python3.11 on SLES15/Leap15.x is pretty easy, if you know how to do it. You need to use the raw module to not use the python3.6 that is on the machine. Same holds true if you work with Tumbleweed and vagrant, as the Tumbleweed vagrant image does not contain any python at all. A playbook like the following helps:
--- - name: 'Bootstrap Python' hosts: 'all' gather_facts: false become: true
tasks:
- name: 'Update repository metadata' ansible.builtin.raw: LANG=C zypper -n refresh register: zypper_refresh_output changed_when: "'Retrieving repository' in zypper_refresh_output.stdout"
- name: 'Bootstrap python' ansible.builtin.raw: LANG=C zypper -n install python311 register: zypper_install_output changed_when: - "'Nothing to do' not in zypper_install_output.stdout"
On Fri, 2024-08-09 at 20:09 +0200, Johannes Kastl wrote:
Dear all,
Ansible 2.17.x (or rather ansible-core 2.17.x) is dropping support for managing machines with Python 3.6 or older. Which unfortunately means SLES15 or Leap15.x are no longer supported out of the box.
While you can install a newer python on those machines, that might not always be feasible.
Hence I will keep packaging the 2.16.x version of ansible-core as ansible-core-2.16 (and ansible-test-2.16) in addition to the 2.17.x ones.
Thanks a lot for taking care about this in this thoughtful manner. Yet I fail to understand why there's no uproar in the ansible user community about this upstream policy. I'd assume that a lot of ansible users use it for administering server farms that contain old systems, which can't easily be updated to a more recent python version. Martin
participants (2)
-
Johannes Kastl
-
Martin Wilck