Bug 1829692

Summary: python3-mod_wsgi no longer providing mod_wsgi
Product: Red Hat Enterprise Linux 8 Reporter: adam winberg <adam.winberg>
Component: mod_wsgiAssignee: Luboš Uhliarik <luhliari>
Status: CLOSED CANTFIX QA Contact: RHEL Stacks Subsystem QE <rhel-stacks-subsystem-qe>
Severity: unspecified Docs Contact: Lenka Špačková <lkuprova>
Priority: unspecified    
Version: 8.2CC: jorton, lkuprova, torsava
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
.The `mod_wsgi` package name is missing when being installed as a dependency With a change in `mod_wsgi` installation, described in xref:BZ-1779705[BZ#1779705], the `python3-mod_wsgi` package no longer provides the name `mod_wsgi`. When installing the `mod_wsgi` module, you must specify the full package name. This change causes problems with dependencies of third-party packages. If you try to install a third-party package that requires a dependency named `mod_wsgi`, an error similar to the following is returned: ---- Error: Problem: conflicting requests - nothing provides mod_wsgi needed by package-requires-mod_wsgi.el8.noarch ---- To work around this problem, choose one of the following: a. Rebuild the package (or ask the third-party vendor for a new build) to require the full package name `python3-mod_wsgi`. b. Create a meta package with the missing package name: + 1. Build your own empty meta package that provides the name `mod_wsgi`. 2. Add the `module_hotfixes=True` line to the `.repo` configuration file of the repository that includes the meta package. 3. Manually install `python3-mod_wsgi`.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-14 11:04:10 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:
Bug Depends On: 1777393    
Bug Blocks:    

Description adam winberg 2020-04-30 06:11:41 UTC
Description of problem:
Before RHEL 8.2 the python3-mod_wsgi package had a 'Provides' for 'mod_wsgi'. In RHEL 8.2 this is removed due to the addition of the python38 module. This change is documented in the release notes. 

However, this breaks existing rpm dependencies which is not what I would expect from a minor release update of RHEL. We have a lot of rpm packages with dependencies to 'mod_wsgi' which now wont install on 8.2. We have had to work around this issue by building our own meta package providing mod_wsgi, but that such a breaking change is introduced in a minor release worries me. What other breaking changes of similar type are there that we have not yet seen? Is it OK to introduce such changes in the middle of a RHEL lifecycle now?

Since python3.6 is the default python in RHEL8 it would not have been unexpected behaviour if installation of mod_wsgi installed the python3.6 version. Users who want the python38 version can explicitly install that anyway. 


Version-Release number of selected component (if applicable):
python3-mod_wsgi-4.6.4-4.el8.x86_64

Comment 1 Joe Orton 2020-04-30 07:15:13 UTC
Yes, this was annoying and we did not want to remove or break deps - I'm really sorry for any inconvenience this caused you.

Unfortunately we hit some problems with modularity dependency solving which made it necessary in this case; with the Provides: there, dnf was filtering python3-mod_wsgi out entirely so package became impossible to install in any way.  I'll see if we can open up the private bugs where we discussed this.

I can't think of any other time when we deliberately broke deps like this in the httpd stack within a RHEL major release before, and we certainly don't plan to do it again.

Comment 2 adam winberg 2020-04-30 07:31:07 UTC
That is reassuring, thank you. 

Maybe changes of this type, although rare, should be highlighted better in the release notes, preferably in a separate section ('potential breaking changes'). As it is now it the release notes only describe what the change is, but not the potential effects of the change (such as "this will break any existing dependencies set up against the 'mod_wsgi' package"). That would make it easier for users to understand that they may have to take action before upgrading.

Comment 3 Tomas Orsava 2020-05-04 11:00:07 UTC
I managed to get the private BZ opened to make it transparent why we had to resolve to this workaround of removing the `mod_wsgi` provide.

https://bugzilla.redhat.com/show_bug.cgi?id=1777393

And I'd like to add my apologies for breaking your workflow. We're working with the docs team right now to improve the documentation.

Comment 4 Tomas Orsava 2020-05-04 11:08:41 UTC
Also, Adam, can I ask what package broke because of this missing dependency?
Was it your own or a third-party package? Or was it a package provided by Red Hat? The latter we could fix.

Thank you.

Comment 5 adam winberg 2020-05-04 11:39:18 UTC
It was our own package with a manually added 'Require' to mod_wsgi. 

Thank you for your response to this bugzilla, I understand the necessity of the change now and appreciate the documentation updates.

Comment 6 Lenka Špačková 2020-05-04 14:09:55 UTC
Hello Adam,
Thank you for your feedback. 

I have added the following known issue to the RHEL 8.2 Release Notes:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.2_release_notes/known-issues#BZ-1829692

Thanks, Tomas, for your help with the doc text.

Comment 7 adam winberg 2020-05-06 17:57:38 UTC
I might add to this that our meta package providing mod_wsgi did not work out of the box, the configuration for the yumrepo where the package is stored needs to contain "module_hotfixes=True", otherwise it is filtered by DNF.

Comment 8 Tomas Orsava 2020-05-07 12:17:41 UTC
(In reply to adam winberg from comment #7)
> I might add to this that our meta package providing mod_wsgi did not work
> out of the box, the configuration for the yumrepo where the package is
> stored needs to contain "module_hotfixes=True", otherwise it is filtered by
> DNF.

That's actually for the same reason the Provide "mod_wsgi" had to dropped in the first place :)

Thanks for the note, we should add it to the docs.

Comment 11 Lenka Špačková 2020-05-11 14:04:43 UTC
Thanks, Adam and Tomas!
I have updated the release note:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/8.2_release_notes/index#BZ-1829692

Comment 12 Tomas Orsava 2020-05-14 11:04:10 UTC
Thank you too Lenka!