mgr/prometheus: s/pkg_resources.packaging/packaging/

instead of relying on the internal implementation of pkg_resources,
let's import packaging directly.

in this change, we also add the dependency to the packaging module
in the packaging recipes.

See also https://github.com/pypa/setuptools/issues/4385

Fixes https://tracker.ceph.com/issues/66201
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
This commit is contained in:
Kefu Chai 2024-05-25 13:50:43 +08:00
parent 15eaef742e
commit 844b66de41
3 changed files with 4 additions and 2 deletions

View File

@ -723,6 +723,7 @@ BuildArch: noarch
Group: System/Filesystems
%endif
Requires: python%{python3_pkgversion}-bcrypt
Requires: python%{python3_pkgversion}-packaging
Requires: python%{python3_pkgversion}-pecan
Requires: python%{python3_pkgversion}-pyOpenSSL
Requires: python%{python3_pkgversion}-requests

View File

@ -1,5 +1,6 @@
natsort
CherryPy
packaging
pecan
werkzeug
requests

View File

@ -1,7 +1,6 @@
import cherrypy
import yaml
from collections import defaultdict
from pkg_resources import packaging # type: ignore
import json
import math
import os
@ -9,6 +8,7 @@ import re
import threading
import time
import enum
from packaging import version # type: ignore
from collections import namedtuple
from mgr_module import CLIReadCommand, MgrModule, MgrStandbyModule, PG_STATES, Option, ServiceInfoT, HandleCommandResult, CLIWriteCommand
@ -34,7 +34,7 @@ DEFAULT_PORT = 9283
# ipv6 isn't yet configured / supported and CherryPy throws an uncaught
# exception.
if cherrypy is not None:
Version = packaging.version.Version
Version = version.Version
v = Version(cherrypy.__version__)
# the issue was fixed in 3.2.3. it's present in 3.2.2 (current version on
# centos:7) and back to at least 3.0.0.