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: v16.2.7~83^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1c1256d7c67847878d5b10d4dbd245097b58cf83;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) --- diff --git a/src/pybind/mgr/selftest/module.py b/src/pybind/mgr/selftest/module.py index c459dc31de7..85fb033d61a 100644 --- a/src/pybind/mgr/selftest/module.py +++ b/src/pybind/mgr/selftest/module.py @@ -1,9 +1,10 @@ from mgr_module import MgrModule, CommandResult -import threading -import random -import json import errno +import json +import random +import sys +import threading class Module(MgrModule): @@ -100,6 +101,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): @@ -109,7 +115,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'