Bug 1952790 - packaging differences between Fedora/EPEL and ConfigManagementSIG/Red Hat
Summary: packaging differences between Fedora/EPEL and ConfigManagementSIG/Red Hat
Keywords:
Status: CLOSED ERRATA
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-04-23 07:04 UTC by Evgeni Golov
Modified: 2021-05-20 00:38 UTC (History)
5 users (show)

Fixed In Version: ansible-2.9.20-1.el8 ansible-2.9.20-1.fc33 ansible-2.9.20-1.fc34 ansible-2.9.20-1.fc32 ansible-2.9.21-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-04-27 01:08:09 UTC
Type: Bug


Attachments (Terms of Use)

Description Evgeni Golov 2021-04-23 07:04:31 UTC
Description of problem:
Hi,

I am filing this against EPEL7 as that's where I hit the exact issue, but I think it can happen similarly on EL8.

EPEL (and Fedora) packages all of ansible in one package: ansible
Red Hat (in the Ansible Engine repo), the CentOS ConfigManagementSIG and upstream (at https://releases.ansible.com/ansible/rpm/release/epel-7-x86_64/) have a split out package ansible-test for the test tooling.

This is problematic, as it seems to confuse the YUM dependency solver sometimes, when both repositories are enabled and something tries to install ansible and /usr/bin/ansible-test (my package has a Requires: /usr/bin/ansible-test exactly to allow both kinds of ansible packages…)

Version-Release number of selected component (if applicable):
ansible-2.9.18-1.el7.noarch

How reproducible:


Steps to Reproduce:
1. podman run -ti --rm centos:7 bash (or any other means to get a clean EL7 env)
2. yum install -y epel-release centos-release-ansible-29
3. yum install https://people.redhat.com/evgeni/fake-ansible-test-consumer-0.1.0-1.el7.noarch.rpm

Actual results:
…
Running transaction check
ERROR with transaction check vs depsolve:
/usr/bin/ansible-test is needed by fake-ansible-test-consumer-0.1.0-1.el7.noarch
 You could try running: rpm -Va --nofiles --nodigest


Expected results:
ansible, ansible-test and fake-ansible-test-consumer are installed

Additional info:
The RPM spec of the above fake package is:
Name:           fake-ansible-test-consumer
Version:        0.1.0
Release:        1%{?dist}
Summary:        fake

License:        Apache-2.0
BuildArch:      noarch
Requires:       ansible
Requires:       /usr/bin/ansible-test


%description
%{summary}

%prep

%build

%install

%files

%changelog
* Wed Mar 31 2021 Evgeni Golov - 0.1.0-1
- fake

Comment 1 Evgeni Golov 2021-04-23 07:18:35 UTC
dnf on EL8 does the right thing with the above reproducer, whether this is intentional or sheer luck, I can't say

Comment 2 Fabian Arrotin 2021-04-23 07:44:32 UTC
Well, probably not a EPEL7 issue then, but more mixing repositories.
It's true that CentOS Configmanagement SIG is just reusing upstream (ansible) src.rpm but with the ansible 3.0 (ansible-core 2.10) and 4.0 (ansible-core 2.11) releases, the goal was to work with Kevin on using same .spec/packaging for both (in fact ConfigManagement SIG just switching to epel packaging *but* still through branches, and so continue to build for all supported branches, like for now)

upstream .spec has indeed 
%package -n ansible-test
%files -n ansible-test

Can have a look at trying to unify this for configmanagement SIG but clearly that's the wrong tracker :)

Comment 3 Evgeni Golov 2021-04-23 07:59:12 UTC
I'd actually prefer if things would follow upstream/RH, as otherwise you'll get the same issue when using EPEL on RHEL for example.

And yeah, the issue is maybe that we're mixing repos, but we need EPEL for something else, and would *prefer* ansible from the SIG repo (but also don't want to mandate that)

Comment 4 Kevin Fenzi 2021-04-23 16:11:47 UTC
I can take a look at adding this subpackage/checking differences here.

Comment 5 Kevin Fenzi 2021-04-24 18:48:15 UTC
So, fun times:

* ansible engine (the RH product rpm) on epel7 has a ansible-test subpackage, and also only builds for python3. 
* ansible rpm from releases.ansible.com on epel7 has an ansible-test subpackage, but only builds for python2.
* ansible epel rpm builds for python3 (ansible-python3 subpackage) and python2, but doesn't have ansible-test subpacakge. 

So, I fear there's going to be more divergence over time. 

I am adding a ansible-test subpackage, but putting only the python2 ansible-test stuff in it. The python3 ansible-test3* will be in ansible-python3.
Hopefully that will help you with the current issue.

You may want to look at repo priorities or excludes to avoid mixing the repos moving forward.

Comment 6 Fedora Update System 2021-04-24 20:31:48 UTC
FEDORA-EPEL-2021-076099dbe2 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-076099dbe2

Comment 7 Fedora Update System 2021-04-24 20:31:54 UTC
FEDORA-2021-4a17f0225d has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-4a17f0225d

Comment 8 Fedora Update System 2021-04-24 20:31:59 UTC
FEDORA-EPEL-2021-3370d4396b has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-3370d4396b

Comment 9 Fedora Update System 2021-04-24 20:32:05 UTC
FEDORA-2021-0414eb891b has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-0414eb891b

Comment 10 Fedora Update System 2021-04-24 20:32:10 UTC
FEDORA-2021-c1116fb75e has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c1116fb75e

Comment 11 Fedora Update System 2021-04-25 00:23:08 UTC
FEDORA-EPEL-2021-3370d4396b has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-3370d4396b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2021-04-25 00:29:04 UTC
FEDORA-2021-c1116fb75e has been pushed to the Fedora 32 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c1116fb75e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c1116fb75e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2021-04-25 00:33:18 UTC
FEDORA-EPEL-2021-076099dbe2 has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-076099dbe2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2021-04-25 00:34:45 UTC
FEDORA-2021-4a17f0225d has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-4a17f0225d`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-4a17f0225d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2021-04-25 00:52:56 UTC
FEDORA-2021-0414eb891b has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-0414eb891b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-0414eb891b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2021-04-27 01:08:09 UTC
FEDORA-EPEL-2021-076099dbe2 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 17 Fedora Update System 2021-05-03 01:48:34 UTC
FEDORA-2021-4a17f0225d has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2021-05-03 02:04:40 UTC
FEDORA-2021-0414eb891b has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2021-05-03 02:12:19 UTC
FEDORA-2021-c1116fb75e has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 20 Fedora Update System 2021-05-05 01:53:25 UTC
FEDORA-EPEL-2021-80d45ac7ec has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-80d45ac7ec

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 21 Fedora Update System 2021-05-20 00:38:31 UTC
FEDORA-EPEL-2021-80d45ac7ec has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.


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