From: Kefu Chai Date: Thu, 23 May 2024 04:47:26 +0000 (+0800) Subject: ceph-volume: use importlib from stdlib on Python 3.8 and up X-Git-Tag: v20.0.0~1839^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F57650%2Fhead;p=ceph.git ceph-volume: use importlib from stdlib on Python 3.8 and up since packaging was apparently removed from pkg_resources, let's use importlib.metadata when it is available and pkg_resources on older Python versions. Refs https://tracker.ceph.com/issues/66201 Signed-off-by: Kefu Chai --- diff --git a/src/ceph-volume/ceph_volume/main.py b/src/ceph-volume/ceph_volume/main.py index 7868665cecbf5..afdb786fabeaf 100644 --- a/src/ceph-volume/ceph_volume/main.py +++ b/src/ceph-volume/ceph_volume/main.py @@ -1,10 +1,15 @@ from __future__ import print_function import argparse import os -import pkg_resources import sys import logging +try: + from importlib.metadata import entry_points +except ImportError: + from pkg_resources import iter_entry_points as entry_points + + from ceph_volume.decorators import catches from ceph_volume import log, devices, configuration, conf, exceptions, terminal, inventory, drive_group, activate @@ -170,9 +175,9 @@ def _load_library_extensions(): """ logger = logging.getLogger('ceph_volume.plugins') group = 'ceph_volume_handlers' - entry_points = pkg_resources.iter_entry_points(group=group) + plugins = [] - for ep in entry_points: + for ep in entry_points(group=group): try: logger.debug('loading %s' % ep.name) plugin = ep.load()