]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr: add lookup_release_name(int) to mgr interface
authorSage Weil <sage@newdream.net>
Mon, 25 Jan 2021 23:19:59 +0000 (17:19 -0600)
committerSage Weil <sage@newdream.net>
Mon, 1 Feb 2021 22:23:02 +0000 (16:23 -0600)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mgr/BaseMgrModule.cc
src/pybind/mgr/ceph_module.pyi
src/pybind/mgr/mgr_module.py

index ccfab8de711a72544fdf2621753c52ccb44f77cf..ede9a809b2143bd5ff3e4164ddead5abc018eeae 100644 (file)
@@ -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"},
 
index c0390908a36203d61152e5c954203a1032a6c59e..a5622065c79a16e3ad29cf699f0c774f0f9e384b 100644 (file)
@@ -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):...
index dad05277958367fc2222cfebaad7a0cf35715488..37acf88e3a60a0911928dd0acb48a2bf50ac0a1c 100644 (file)
@@ -912,6 +912,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