From 112a825f55b89886cfd351f58a67e48ebde0bbd8 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 23 May 2024 12:47:26 +0800 Subject: [PATCH] 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 (cherry picked from commit 24f8e5c61b19deab7397b0237f8376c6c03a5dcb) --- src/ceph-volume/ceph_volume/main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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() -- 2.39.5