Ansible 2.13 yum module - requires minimum version of target python of 2.7 or 3.5. But I already have that

1,299 views
Skip to first unread message

Daniel Barros

unread,
Aug 5, 2022, 5:42:44 PM8/5/22
to Ansible Project

I have an Ansible (2.13) machine targeting a remote centOS 6 with Python 3.6.

Remote machine has python3.6 installed and variables are set like this:


$ ansible-inventory --host centos-6-vm

{

    "ansible_private_key_file": "~/.ssh/id_rsa",

    "ansible_python_interpreter": "/usr/bin/python3.6",

    "ansible_user": "daniel"

}

Ansible can ping, setup and gather facts from target successfully.

But when trying to run the yum module, I get an error as if my server doesn't have Python 3.6

This is my playbook

---

- name: Deploy Services

  hosts: centos-6-vm

  gather_facts: true

 

  tasks:

 

    - name: Show python interpreter

      debug:

        var: "{{ item }}"

      with_items:

        - ansible_python_interpreter

        - ansible_python_version

 

    - name: Patch

      become: true

      yum:

        name: "*"

        security: true

        state: latest

        update_cache: true

The first task is just to confirm that Ansible is recognizing Python versions. And the result is success.

ok: [centos-6-vm] => (item=ansible_python_interpreter) => {

    "ansible_loop_var": "item",

    "ansible_python_interpreter": "/usr/bin/python3.6",

    "item": "ansible_python_interpreter"

}

ok: [centos-6-vm] => (item=ansible_python_version) => {

    "ansible_loop_var": "item",

    "ansible_python_version": "3.6.6",

    "item": "ansible_python_version"

}

But when it gets in the module, it gets an error saying no Python3.

TASK [Patch] ***********************************************************************************************************

fatal: [centos-6-vm]: FAILED! => {"changed": false, "msg": "ansible-core requires a minimum of Python2 version 2.7 or Python3 version 3.5. Current version: 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]"}

Any idea how can I approach that?

 

Nico Kadel-Garcia

unread,
Aug 6, 2022, 11:08:27 AM8/6/22
to ansible...@googlegroups.com
CentOS 6 is end-of-life. Even the primary mirror sites over at
vault.centos.org don't work anymore.

That said, if you're staying on CentOS 6, do not use the raw "python"
or "pip" command to install any of it. Use "python3" or "pip3".

pip3 install --user ansible-core

That will only get you the maximum ansible-core compatible with your
release of python 3.
> --
> 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/3176afe0-d6fc-4e63-a4f8-94c20d3a7b16n%40googlegroups.com.

Matt Martz

unread,
Aug 8, 2022, 9:30:22 AM8/8/22
to ansible...@googlegroups.com
The yum module within ansible requires the python yum bindings to work, and those are only available using Python 2.6.  ansible-core 2.13 no longer supports Python 2.6, so there is no combination where you can use the yum module with ansible-core 2.13 on RHEL6.

The last version of ansible-core to support Python 2.6 for target execution was ansible-core 2.12.

--
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/3176afe0-d6fc-4e63-a4f8-94c20d3a7b16n%40googlegroups.com.


--
Matt Martz
@sivel
sivel.net

Daniel Barros

unread,
Aug 8, 2022, 12:24:15 PM8/8/22
to Ansible Project

I appreciate the time and the answers.

 

My customer has an up-to-date Ansible but some server OS are still old.

So I’ll consider using the command module for this special case (yum rhel 6).

 

Thank you again.

Br,

Daniel

Nico Kadel-Garcia

unread,
Aug 8, 2022, 11:00:10 PM8/8/22
to ansible...@googlegroups.com
Note that ansible-core 2.12 is the default available version on RHEL
8, because it's compatible with the built-in python 3.6, and is
available from Red Hat repos as an RPM. So it's a supportable release
on your ansible server, even if your server is on a commercially
supported RHEL.


On Mon, Aug 8, 2022 at 12:24 PM Daniel Barros
> To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/51a4eba5-7fc4-4a1a-b684-3a2821c095e3n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages