Bug 1934425 - The future of ansible in EPEL 7?
Summary: The future of ansible in EPEL 7?
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: ansible
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kevin Fenzi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-03 08:43 UTC by Frank Adaemmer
Modified: 2021-03-07 01:40 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-07 01:40:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Frank Adaemmer 2021-03-03 08:43:43 UTC
Today you have two options if you want to install ansible from EPEL 7.
Install ansible package or install ansible-python3 package (or both). Both install ansible 2.9 (currently 2.9.17) and either use python 2 or python 3.

Basic ansible operation will work after installation, but a lot of built-in ansible modules and filters dependent on other python modules. Here some example of python modules I usually add.
•	python-netaddr
•	python-requests
•	python2-pyvmomi
•	python2-winrm
•	python-ldap

And here it becomes problematic. Until now I use ansible with python2. Recently python2-pyvmomi does missing, but python36-pyvmomi is available. So I start testing with ansible-python3. 

First thing I noticed was that ansible-python3 does not provide /usr/bin/ansible, /usr/bin/ansible-playbook, etc., but only /usr/bin/ansible-3, /usr/bin/ansible-36, etc..

Then I realize that there is no python36-winrm package or alike. In my case this is a blocker.

Now here is my question. What will the future of ansible in EPEL 7 look like?

Comment 1 Kevin Fenzi 2021-03-07 01:40:28 UTC
(In reply to Frank Adaemmer from comment #0)
> Today you have two options if you want to install ansible from EPEL 7.
> Install ansible package or install ansible-python3 package (or both). Both
> install ansible 2.9 (currently 2.9.17) and either use python 2 or python 3.

Yep. Also give that newer ansible versions are going to move to require python3.8 too, I was not planning on upgrading epel7 past ansible-2.9 (classic).

> Basic ansible operation will work after installation, but a lot of built-in
> ansible modules and filters dependent on other python modules. Here some
> example of python modules I usually add.
> •	python-netaddr
> •	python-requests
> •	python2-pyvmomi
> •	python2-winrm
> •	python-ldap

Right. It's impossible to require these for a number of reasons (the package only controls requires for the control node, we have no idea what is required for every module to work, adding all those requirements would make ansible so heavyweight no one would want to install it, etc). 
 
> And here it becomes problematic. Until now I use ansible with python2.
> Recently python2-pyvmomi does missing, but python36-pyvmomi is available. So
> I start testing with ansible-python3. 

Yes, the python2 versions in epel probibly will decrease over time as fedora no longer supports python2, so maintainers move to drop it in epel also. 
 
> First thing I noticed was that ansible-python3 does not provide
> /usr/bin/ansible, /usr/bin/ansible-playbook, etc., but only
> /usr/bin/ansible-3, /usr/bin/ansible-36, etc..

Correct. This is to allow ansible and python3-ansible to be parallel installable. 
 
> Then I realize that there is no python36-winrm package or alike. In my case
> this is a blocker.

You can ask the python-winrm maintainer to add a python3 subpackage? 
Take a look at https://bugzilla.redhat.com/show_bug.cgi?id=1471054
 
> Now here is my question. What will the future of ansible in EPEL 7 look like?

Not much change as far as my current plans. :) I'd advise switching to the python3 version and seeing if you can get the requirements you need made available also in epel?

I'm happy to help where I can...


Note You need to log in before you can comment on or make changes to this bug.