From 91bc0e54ab816fca12a08817c261bbbf65606726 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 7 Apr 2021 14:40:05 +0800 Subject: [PATCH] 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 --- src/pybind/mgr/selftest/module.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/pybind/mgr/selftest/module.py b/src/pybind/mgr/selftest/module.py index 65d6181054c26..7ec01299c521a 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): @@ -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' -- 2.39.5