Bug 2310236
| Summary: | ceph-volume: AttributeError: 'EntryPoints' object has no attribute 'get' | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Tomasz Torcz <tomek> |
| Component: | ceph | Assignee: | Kaleb KEITHLEY <kkeithle> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 42 | CC: | branto, go-sig, i, josef, kkeithle, loic, marcan, pampelmuse, scott-fedora, steve |
| Target Milestone: | --- | Flags: | kkeithle:
needinfo-
|
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | ceph-19.2.3-3.fc43 ceph-19.2.3-4.fc44 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-08-13 17:43:27 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42. Patch that works and makes ceph-volume work again:
--- src/ceph-volume/ceph_volume/main.py-orig 2025-01-21 12:28:33.000000000 -0800
+++ src/ceph-volume/ceph_volume/main.py 2025-03-07 20:17:40.378635856 -0800
@@ -11,7 +11,13 @@
from importlib.metadata import entry_points
def get_entry_points(group: str): # type: ignore
- return entry_points().get(group, []) # type: ignore
+ eps = entry_points()
+ if hasattr(eps, 'select'):
+ # New importlib.metadata uses .select()
+ return eps.select(group=group)
+ else:
+ # Fallback to older EntryPoints that returns dicts
+ return eps.get(group, []) # type: ignore
except ImportError:
from pkg_resources import iter_entry_points as entry_points # type: ignore
This is also broken in F41 (Ceph 19.2.2). The patch from comment #3 works for me. May I ask for patching this downstream. Thank you @kkeithle can you please apply the patch? It's really a oneliner (changing `return entry_points().get(group, [])` to `return eps.select(group=group)`). We currently do not have working `ceph-volume` in Fedora stable release :( FEDORA-2025-f9b9fa57b3 (ceph-19.2.3-3.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-f9b9fa57b3 FEDORA-2025-f9b9fa57b3 (ceph-19.2.3-3.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2025-5cd8048b8b (ceph-19.2.3-4.fc44) has been submitted as an update to Fedora 44. https://bodhi.fedoraproject.org/updates/FEDORA-2025-5cd8048b8b FEDORA-2025-5cd8048b8b (ceph-19.2.3-4.fc44) has been pushed to the Fedora 44 stable repository. If problem still persists, please make note of it in this bug report. |
ceph-volume fails to activate any OSDs: [2024-09-05 08:35:49,109][ceph_volume.process][INFO ] Running command: /usr/sbin/ceph-volume simple trigger 5-84bd2e57-ab7e-4dbb-86d6-fb76ed5168d9 [2024-09-05 08:35:49,498][ceph_volume.process][INFO ] stderr exception caught by decorator Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/ceph_volume/decorators.py", line 59, in newfunc return f(*a, **kw) File "/usr/lib/python3.13/site-packages/ceph_volume/main.py", line 118, in main self.enable_plugins() ~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/ceph_volume/main.py", line 83, in enable_plugins plugins = _load_library_extensions() File "/usr/lib/python3.13/site-packages/ceph_volume/main.py", line 188, in _load_library_extensions for ep in get_entry_points(group=group): ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/ceph_volume/main.py", line 14, in get_entry_points return entry_points().get(group, []) # type: ignore ^^^^^^^^^^^^^^^^^^ AttributeError: 'EntryPoints' object has no attribute 'get' --> AttributeError: 'EntryPoints' object has no attribute 'get' [2024-09-05 08:35:49,542][systemd][WARNING] command returned non-zero exit status: 1 [2024-09-05 08:35:49,542][systemd][WARNING] failed activating OSD, retries left: 1 Reproducible: Always Steps to Reproduce: 1. Boot rawhide ceph OSD node. 2. 3. Actual Results: No OSDs started. ceph-volume-19.1.1-0.1.fc42.noarch