From: Sage Weil Date: Mon, 25 Jan 2021 23:19:59 +0000 (-0600) Subject: mgr: add lookup_release_name(int) to mgr interface X-Git-Tag: v16.2.0~207^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c490013dac42e3f00018891bf25857440c56147a;p=ceph.git mgr: add lookup_release_name(int) to mgr interface Signed-off-by: Sage Weil (cherry picked from commit ceac0861434ae761d8866889980dcf95d1f21a93) --- diff --git a/src/mgr/BaseMgrModule.cc b/src/mgr/BaseMgrModule.cc index ccfab8de711a..ede9a809b214 100644 --- a/src/mgr/BaseMgrModule.cc +++ b/src/mgr/BaseMgrModule.cc @@ -595,6 +595,16 @@ ceph_get_release_name(BaseMgrModule *self, PyObject *args) return PyUnicode_FromString(ceph_release_to_str()); } +static PyObject * +ceph_lookup_release_name(BaseMgrModule *self, PyObject *args) +{ + int major = 0; + if (!PyArg_ParseTuple(args, "i:ceph_lookup_release_name", &major)) { + return nullptr; + } + return PyUnicode_FromString(ceph_release_name(major)); +} + static PyObject * ceph_get_context(BaseMgrModule *self) { @@ -1415,6 +1425,9 @@ PyMethodDef BaseMgrModule_methods[] = { {"_ceph_get_release_name", (PyCFunction)ceph_get_release_name, METH_NOARGS, "Get the ceph release name of this process"}, + {"_ceph_lookup_release_name", (PyCFunction)ceph_lookup_release_name, METH_VARARGS, + "Get the ceph release name for a given major number"}, + {"_ceph_get_context", (PyCFunction)ceph_get_context, METH_NOARGS, "Get a CephContext* in a python capsule"}, diff --git a/src/pybind/mgr/ceph_module.pyi b/src/pybind/mgr/ceph_module.pyi index c0390908a362..a5622065c79a 100644 --- a/src/pybind/mgr/ceph_module.pyi +++ b/src/pybind/mgr/ceph_module.pyi @@ -40,6 +40,7 @@ class BaseMgrModule(object): def __init__(self, py_modules_ptr, this_ptr): pass def _ceph_get_version(self):... def _ceph_get_release_name(self):... + def _ceph_lookup_release_name(self, release):... def _ceph_cluster_log(self, channel, priority, message):... def _ceph_get_context(self):... def _ceph_get(self, data_name):... diff --git a/src/pybind/mgr/mgr_module.py b/src/pybind/mgr/mgr_module.py index a69b350e3f0b..ccb1d7490885 100644 --- a/src/pybind/mgr/mgr_module.py +++ b/src/pybind/mgr/mgr_module.py @@ -906,6 +906,9 @@ class MgrModule(ceph_module.BaseMgrModule, MgrModuleLoggingMixin): """ return self._ceph_get_release_name() + def lookup_release_name(self, major: int) -> str: + return self._ceph_lookup_release_name(major) + def get_context(self) -> object: """ :return: a Python capsule containing a C++ CephContext pointer