Bug 2136231

Summary: Fix ansible-collection-redhat-satellite requires of requests and pyyaml
Product: Red Hat Satellite Reporter: Lukas Pramuk <lpramuk>
Component: Ansible CollectionAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.12.0CC: egolov, ehelms, osousa
Target Milestone: 6.12.4   
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ansible-collection-redhat-satellite-3.7.0-4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-04-27 14:30:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lukas Pramuk 2022-10-19 16:53:06 UTC
Description of problem:
On Sat 6.12 RHEL8.7  ansible-collection-redhat-satellite rpm needlessly pulls in  python38-* deps and misses to pull in python39-* deps

The error is there potentially. ansible-collection-redhat-satellite rpm is lucky that pulpcore 3.18 runs on the same python3.9 as ansible-core 2.13 does

This way the wrong requires are accidentaly satisfied by pulpcore pulling in same modules
(Running on the same python is not guaranteed in any way)

Version-Release number of selected component (if applicable):
6.12.0
ansible-collection-redhat-satellite 3.7.0

How reproducible:
deterministic

Steps to Reproduce:
1. Check Requires: of ansible-collection-redhat-satellite rpm 
# rpm -qR ansible-collection-redhat-satellite
(ansible >= 2.9 or ansible-core)
(python3-pyyaml if ansible)
(python3-requests if ansible)
(python38-pyyaml if ansible-core)    <<< wrong
(python38-requests if ansible-core)  <<< wrong
...

Actual results:
(python38-pyyaml if ansible-core)
(python38-requests if ansible-core)

Expected results:
(python38-pyyaml if ansible-core < 2.13)
(python39-pyyaml if ansible-core >= 2.13)
(python38-requests if ansible-core < 2.13)
(python39-requests if ansible-core >= 2.13)


Additional info:
We delivered these changes to 6.11.z by BZ#2132999

Comment 1 Brad Buckingham 2022-10-24 13:18:46 UTC
Hi Lukas,

Bug 2132999 has a clone for 6.12 (bug 2125585).  Does this mean that this has also already been resolved on 6.12?

Comment 7 Lukas Pramuk 2023-04-25 16:16:32 UTC
VERIFIED.

@ansible-collection-redhat-satellite-3.7.0-4.el8sat.noarch.rpm

# rpm -qR ansible-collection-redhat-satellite | grep python
(python3-pyyaml if ansible)
(python3-requests if ansible)
(python3.11-pyyaml if ansible-core >= 2.14.2-3)
(python3.11-requests if ansible-core >= 2.14.2-3)
(python38-pyyaml if ansible-core < 2.13)
(python38-requests if ansible-core < 2.13)
(python39-pyyaml if (ansible-core >= 2.13 and ansible-core < 2.14.2-3))
(python39-requests if (ansible-core >= 2.13 and ansible-core < 2.14.2-3))

>>> the ansible-collection-redhat-satellite-3.7.0 rpm correctly requires python3.11 modules (and python39 modules)

Comment 13 errata-xmlrpc 2023-04-27 14:30:36 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Satellite 6.12.4 Async Update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2052