Bug 2125611

Summary: pulpcore 3.16 requirements of python38-* rpms do not get them from satellite module
Product: Red Hat Satellite Reporter: Lukas Pramuk <lpramuk>
Component: PackagingAssignee: satellite6-bugs <satellite6-bugs>
Status: NEW --- QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.11.2CC: ehelms
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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-09-09 13:01:00 UTC
Description of problem:
pulpcore 3.16 requirements of python38-* rpms do not get them from satellite module
Applicable only for 6.11 rhel8  (6.12 pulpcore uses python39)

The root cause is that ansible-core and pulpcore are using the same python38-* modules
and problem arises when you install ansible-core prior pulpcore typically during satellite-clone process where satellite-clone requires ansible-core on clean rhel8 machine

ansible-core pulls in some python38-* rpms and pulpcore does not enforce upgrade of these rpms from satellite module as it requirements are vague.

Pulpcore has just python38-* rpms from Appstream which can results in broken functionality
It happened already for python38-jinja2 and is resolved by BZ#2109608 but there are other rpms:

RPM                    Satellite        AppStream
python38-cffi          1.15.0-1.el8pc   1.13.2-3.module+el8.4.0+8888+89bc7e79
python38-cryptography  3.1.1-1.el8pc    2.8-3.module+el8.4.0+8888+89bc7e79
python38-idna          3.3-1.el8pc      2.8-6.module+el8.4.0+8888+89bc7e79
python38-pycparser     2.20-2.el8pc     2.19-3.module+el8.4.0+8888+89bc7e79
python38-pytz          2021.3-1.el8pc   2019.3-3.module+el8.4.0+8888+89bc7e79
python38-pyyaml        5.4.1-3.el8pc    5.4.1-1.module+el8.5.0+10721+14d8e0d5
python38-six           1.16.0-1.el8pc   1.12.0-10.module+el8.4.0+8888+89bc7e79

python38-cryptography and python38-idna differ in major version !

Version-Release number of selected component (if applicable):
Satellite 6.11.2
python38-pulpcore-3.16.12-1.el8pc.noarch

How reproducible:
dweterministic

Steps to Reproduce:
1. Install ansible-core (appstream python38-* rpms installed)
2. Install pulpcore (or Satellite) (python38-* rpms not updated by the ones in satellite module)

Actual results:
there are newer python38-* rpms which do not get installed during satellite-clone process so they can possibly break the process (by breaking installer run as pulpcore tools are failing to run)

Expected results:
If there are newer python38-* rpms in satellite module for whatever reason then pulcore rpm should enforce they are installed 

Additional info:
See BZ#2109608

Comment 1 Lukas Pramuk 2022-09-14 19:28:22 UTC
with update to RHEL8.7  and asnible-core to 2.13 using python39 this will be applicable to 6.12 as well

Comment 2 Lukas Pramuk 2022-09-14 19:30:03 UTC
so RHEL8.7 solves it for Satellite 6.11 while it introduces it to Satellite 6.12