]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: Cleanup get_localized_module_option function 26905/head
authorVolker Theile <vtheile@suse.com>
Tue, 12 Mar 2019 09:06:01 +0000 (10:06 +0100)
committerVolker Theile <vtheile@suse.com>
Thu, 14 Mar 2019 12:43:29 +0000 (13:43 +0100)
Address comments from https://github.com/ceph/ceph/pull/26736.

Signed-off-by: Volker Theile <vtheile@suse.com>
src/mgr/ActivePyModules.h
src/mgr/BaseMgrModule.cc
src/mgr/BaseMgrStandbyModule.cc
src/pybind/mgr/mgr_module.py

index cf6106c5d4ae4848d4d7c5840c8a5167bb40cb5c..758f94f06478cf815639bb6c916ea41b5d0a6eee 100644 (file)
@@ -116,7 +116,7 @@ public:
 
   PyObject *get_typed_config(const std::string &module_name,
                             const std::string &key,
-                            const std::string &prefix) const;
+                            const std::string &prefix = "") const;
 
   void set_health_checks(const std::string& module_name,
                         health_check_map_t&& checks);
index 0e33e0f4b6d0d2bbb45f87c866c0d038bd7c44a5..cd3ed56ee732b7821c3996897bb3d9c5c95ab6e4 100644 (file)
@@ -401,7 +401,7 @@ ceph_get_module_option(BaseMgrModule *self, PyObject *args)
   char *module = nullptr;
   char *key = nullptr;
   char *prefix = nullptr;
-  if (!PyArg_ParseTuple(args, "sss:ceph_get_module_option", &module, &key,
+  if (!PyArg_ParseTuple(args, "ssz:ceph_get_module_option", &module, &key,
                        &prefix)) {
     derr << "Invalid args!" << dendl;
     return nullptr;
index 4a9c5671b7f52f2a8488fc5b04d6379098d71908..1f587349be2a058ebe73d84192965ad88070a991 100644 (file)
@@ -65,7 +65,7 @@ ceph_get_module_option(BaseMgrStandbyModule *self, PyObject *args)
 {
   char *what = nullptr;
   char *prefix = nullptr;
-  if (!PyArg_ParseTuple(args, "ss:ceph_get_module_option", &what, &prefix)) {
+  if (!PyArg_ParseTuple(args, "sz:ceph_get_module_option", &what, &prefix)) {
     derr << "Invalid args!" << dendl;
     return nullptr;
   }
@@ -81,7 +81,7 @@ ceph_get_module_option(BaseMgrStandbyModule *self, PyObject *args)
     found = self->this_module->get_config(final_key, &value);
   }
   if (found) {
-    dout(10) << __func__ << " " << final_key << " found: " << value.c_str()
+    dout(10) << __func__ << " " << final_key << " found: " << value
             << dendl;
     return self->this_module->py_module->get_typed_option_value(what, value);
   } else {
index 6e82ffef4ef2fb9883c1f70ff8a6523eba5d9c35..4c7c2b96dfa8a01dd9107fe632c73bb5ba1757f4 100644 (file)
@@ -352,6 +352,10 @@ def CLIWriteCommand(prefix, args="", desc=""):
     return CLICommand(prefix, args, desc, "w")
 
 
+def _get_localized_key(prefix, key):
+    return '{}/{}'.format(prefix, key)
+
+
 class Option(dict):
     """
     Helper class to declare options for MODULE_OPTIONS list.
@@ -428,10 +432,9 @@ class MgrStandbyModule(ceph_module.BaseMgrStandbyModule):
         :param default: the default value of the config if it is not found
         :return: str
         """
-        r = self._ceph_get_module_option(key, "")
+        r = self._ceph_get_module_option(key)
         if r is None:
-            final_key = key.split('/')[-1]
-            return self.MODULE_OPTION_DEFAULTS.get(final_key, default)
+            return self.MODULE_OPTION_DEFAULTS.get(key, default)
         else:
             return r
 
@@ -453,8 +456,7 @@ class MgrStandbyModule(ceph_module.BaseMgrStandbyModule):
     def get_localized_module_option(self, key, default=None):
         r = self._ceph_get_module_option(key, self.get_mgr_id())
         if r is None:
-            final_key = key.split('/')[-1]
-            return self.MODULE_OPTION_DEFAULTS.get(final_key, default)
+            return self.MODULE_OPTION_DEFAULTS.get(key, default)
         else:
             return r
 
@@ -908,8 +910,7 @@ class MgrModule(ceph_module.BaseMgrModule):
         r = self._ceph_get_module_option(self.module_name, key,
                                          localized_prefix)
         if r is None:
-            final_key = key.split('/')[-1]
-            return self.MODULE_OPTION_DEFAULTS.get(final_key, default)
+            return self.MODULE_OPTION_DEFAULTS.get(key, default)
         else:
             return r
 
@@ -938,7 +939,7 @@ class MgrModule(ceph_module.BaseMgrModule):
         """
         if module == self.module_name:
             self._validate_module_option(key)
-        r = self._ceph_get_module_option(module, key, "")
+        r = self._ceph_get_module_option(module, key)
         return default if r is None else r
 
     def get_store_prefix(self, key_prefix):
@@ -952,7 +953,7 @@ class MgrModule(ceph_module.BaseMgrModule):
         return self._ceph_get_store_prefix(key_prefix)
 
     def _set_localized(self, key, val, setter):
-        return setter(self.get_mgr_id() + '/' + key, val)
+        return setter(_get_localized_key(self.get_mgr_id(), key), val)
 
     def get_localized_module_option(self, key, default=None):
         """
@@ -1021,11 +1022,11 @@ class MgrModule(ceph_module.BaseMgrModule):
             return r
 
     def get_localized_store(self, key, default=None):
-        r = self._ceph_get_store('{}/{}'.format(self.get_mgr_id(), key))
+        r = self._ceph_get_store(_get_localized_key(self.get_mgr_id(), key))
         if r is None:
             r = self._ceph_get_store(key)
-        if r is None:
-            r = default
+            if r is None:
+                r = default
         return r
 
     def set_localized_store(self, key, val):