Bug 2119256
Summary: | [Ceph-mgr] Module 'restful' has failed dependency: No module named 'dataclasses' | ||
---|---|---|---|
Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | Sunil Angadi <sangadi> |
Component: | Ceph-Mgr Plugins | Assignee: | Ken Dreyer (Red Hat) <kdreyer> |
Ceph-Mgr Plugins sub component: | restful | QA Contact: | Sunil Angadi <sangadi> |
Status: | CLOSED ERRATA | Docs Contact: | ceph-docs <ceph-docs> |
Severity: | urgent | ||
Priority: | unspecified | CC: | adking, akraj, anarnold, gmeno, kdreyer, vashastr |
Version: | 5.3 | Keywords: | AutomationBlocker |
Target Milestone: | --- | ||
Target Release: | 5.3 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | python-werkzeug-2.0.3-3.el8cp | Doc Type: | No Doc Update |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2023-01-11 17:41:19 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: |
Comment 3
Ken Dreyer (Red Hat)
2022-08-22 16:50:07 UTC
During the container build process, DNF installs python3-werkzeug-2.0.3 (for bug 2053446) but it does not pull in python3-dataclasses. Likewise, our CI composes have the new python3-werkzeug 2.0.3 package but they do not have the python3-dataclasses package. The problem is that the werkzeug RPM lacks the dataclasses package requirement here: $ rpm -q --requires python3-werkzeug-2.0.3-1.el8cp.noarch python(abi) = 3.6 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 RPM is supposed to automatically add dataclasses to this list, since the package cannot function without it, as in this test: >>> import werkzeug Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.6/site-packages/werkzeug/__init__.py", line 2, in <module> from .test import Client as Client File "/usr/lib/python3.6/site-packages/werkzeug/test.py", line 30, in <module> from .sansio.multipart import Data File "/usr/lib/python3.6/site-packages/werkzeug/sansio/multipart.py", line 2, in <module> from dataclasses import dataclass ModuleNotFoundError: No module named 'dataclasses' My theory is that RHEL 8's python3-rpm-macros-3-41.el8 might not be able to parse this ":python_version" syntax in Werkzeug-2.0.3-py3.6.egg-info/requires.txt: [:python_version < "3.7"] dataclasses At any rate, I've added an explicit Requires line to python-werkzeug-2.0.3-3: https://pkgs.devel.redhat.com/cgit/rpms/python-werkzeug/commit/?h=ceph-5.3-rhel-8&id=292f1b5a06ca530d6d2ceaf93e802f5440e7dd66 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 (Moderate: Red Hat Ceph Storage 5.3 security update and Bug Fix), 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/RHSA-2023:0076 |