RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2127325 - The python39 from the latest Stream 8 compose is broken
Summary: The python39 from the latest Stream 8 compose is broken
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: distribution
Version: CentOS Stream
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Johnny Hughes
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-09-16 01:21 UTC by Maxwell G
Modified: 2022-10-05 16:30 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-10-05 16:30:32 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-134137 0 None None None 2022-09-16 01:39:00 UTC

Description Maxwell G 2022-09-16 01:21:12 UTC
Description of problem:

The new python39 module that was pushed out in the CentOS Stream 8 compose a couple days ago is missing almost all of its packages. This makes it impossible for me to build any python39 packages in EPEL 8 Next.

This is the third or fourth time that one of the python modules has broken in Stream 8. I understand that these issues are an unfortunate product of the poor CentOS Stream 8 workflow and modularity, but it would be great to have testing in place to prevent this in the future

Comment 1 Tomas Orsava 2022-09-20 14:57:30 UTC
(In reply to Maxwell G from comment #0)
> Description of problem:
> 
> The new python39 module that was pushed out in the CentOS Stream 8 compose a
> couple days ago is missing almost all of its packages. This makes it
> impossible for me to build any python39 packages in EPEL 8 Next.
> 
> This is the third or fourth time that one of the python modules has broken
> in Stream 8. I understand that these issues are an unfortunate product of
> the poor CentOS Stream 8 workflow and modularity, but it would be great to
> have testing in place to prevent this in the future

Hi Maxwell,
apologies for the problems, I hope they'll be addressed promptly by the CentOS Stream team.

However, speaking on behalf of the Python-maint team that's developing these alternative Python stacks, we're working on a new solution for the next alternative stack in RHEL/CentOS Stream 8 that will hopefully improve upon this.

Comment 2 Maxwell G 2022-09-20 23:18:24 UTC
Thank you for the response, Tomáš. If I may, I'd like to suggest making the next alternative python stack non-modular (if you weren't already planning that). In my opinion, there's not any point for the alternative Python stacks to be modular. Each python module is already parallel install-able and split into its own module with one default stream. This already defeats the purpose of modularity. Besides the broken CentOS Stream modules, the python38 and python39 modules have caused various other problems for both RHEL and EPEL packages:

- For EPEL, there was an issue with grobisplitter not handling the python38-devel and python39-devel CRB modules, which hampered us from building Python 3.8 packages in EPEL for three months.
- The python3X-devel modules not being enabled by default also causes a lot of friction when building packages locally in mock, because you need a special mock configuration. Multiple packagers have had issues with this.

- For RHEL, this has caused problems with ansible-core. In CentOS Stream 8, ansible-core requires a special buildtag, because it depends on python39 packages but isn't part of the python39 module. This wasn't set up properly at first, and the ansible-core package failed to build in c8s for months. This happened once with the python38 version and again after the python39 rebase.
- For rhel-system-roles and the other ansible-core dependents in RHEL 8, the maintainers have had to resort to hacky workarounds to build Ansible collections due to ansible-core not being part of the default buildroot. These workarounds have leaked into the Fedora versions of these packages and caused issues.

I doubt the average customer/user cares whether the alt Python stacks are modular or not.

Comment 3 Maxwell G 2022-09-21 04:16:32 UTC
I apologize if my previous message was a bit harsh/ranty. I appreciate your work on this and understand that the issues aren't your fault.

Comment 4 Tomas Orsava 2022-10-03 13:55:21 UTC
Thank you for your kind message, Maxwell.

I am similarly of the opinion that modularity does not greatly align with the use cases of Python alternative stacks. For a while we've been exploring options to de-modularize Python 3.11, but as yet I cannot make any promises. Fingers crossed!

Comment 5 Petr Viktorin (pviktori) 2022-10-05 12:25:31 UTC
Carl, do you know who can fix this?

Comment 6 Carl George 🤠 2022-10-05 16:30:32 UTC
I check the recent python39 module builds, and the python39:3.9:8070020220908144956:be1f0497 one was missing components.  It was part of the following composes:

CentOS-Stream-8-20220912.n.0
CentOS-Stream-8-20220913.n.0
CentOS-Stream-8-20220915.n.0

I don't have a record of exactly when (or even if) each compose was pushed to the mirrors, but based on timing (the original comment was on 2022-09-16) it's likely it was one of these that shipped the broken module.  A new module export happened on 2022-09-20, which Johnny then built as python39:3.9:8070020220920211220:be1f0497.  Thankfully this build included all the necessary components, and was included in the following composes:

CentOS-Stream-8-20220921.n.0
CentOS-Stream-8-20220922.n.0
CentOS-Stream-8-20220922.n.1

The last one is what is currently on the mirrors (see http://mirror.centos.org/centos/8-stream/COMPOSE_ID).  I spot checked a few packages and they install fine, so this appears to be resolved.  If something is missing please re-open this bug for further investigation.

I believe the root cause of the issue (and why it keeps happening) is the old versions of koji and MBS that are deployed for c8s infrastructure.  The inside-out workflow for c8s doesn't help.  No one has worked on fixing it because the Stream team is focused on migrating c8s to the c9s workflows, which is expected to be completed sometime this year.  That change should stop the problem from happening again because of the newer koji and MBS versions used there.


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