From: Kefu Chai Date: Wed, 7 Apr 2021 06:40:05 +0000 (+0800) Subject: mgr/selftest: add a command for querying python version X-Git-Tag: v15.2.14~54^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=86b4a42dc6010d2465afad51b5d6d397e2944f99;p=ceph.git mgr/selftest: add a command for querying python version so the test driver can skip certain tests based on the version of python runtime on the test node Fixes: https://tracker.ceph.com/issues/50196 Signed-off-by: Kefu Chai (cherry picked from commit 91bc0e54ab816fca12a08817c261bbbf65606726) Conflicts: src/pybind/mgr/selftest/module.py --- diff --git a/src/pybind/mgr/selftest/module.py b/src/pybind/mgr/selftest/module.py index f62d968c8988f..9ed5e342ee295 100644 --- a/src/pybind/mgr/selftest/module.py +++ b/src/pybind/mgr/selftest/module.py @@ -1,10 +1,11 @@ from mgr_module import MgrModule, CommandResult -import threading -import random -import json import errno import six +import json +import random +import sys +import threading class Module(MgrModule): @@ -101,6 +102,11 @@ class Module(MgrModule): "desc": "Create an audit log record.", "perm": "rw" }, + { + "cmd": "mgr self-test python-version", + "desc": "Query the version of the embedded Python runtime", + "perm": "r" + }, ] def __init__(self, *args, **kwargs): @@ -110,7 +116,13 @@ class Module(MgrModule): self._health = {} def handle_command(self, inbuf, command): - if command['prefix'] == 'mgr self-test run': + if command['prefix'] == 'mgr self-test python-version': + major = sys.version_info.major + minor = sys.version_info.minor + micro = sys.version_info.micro + return 0, f'{major}.{minor}.{micro}', '' + + elif command['prefix'] == 'mgr self-test run': self._self_test() return 0, '', 'Self-test succeeded'