]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: implement tell/daemon 'config get'
authorSage Weil <sage@redhat.com>
Wed, 31 Jan 2018 13:09:09 +0000 (07:09 -0600)
committerSage Weil <sage@redhat.com>
Tue, 6 Mar 2018 20:44:49 +0000 (14:44 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc

index 7d89eefa6b96f1ce6248889ee5b649ada7d662ac..bf1659fba2182fe1b77653fde093e276ff763974 100644 (file)
@@ -5828,6 +5828,10 @@ COMMAND("config set " \
        "name=key,type=CephString name=value,type=CephString",
        "Set a configuration option at runtime (not persistent)",
        "osd", "rw", "cli,rest")
+COMMAND("config get " \
+       "name=key,type=CephString",
+       "Get a configuration option at runtime",
+       "osd", "r", "cli,rest")
 COMMAND("config unset " \
        "name=key,type=CephString",
        "Unset a configuration option at runtime (not persistent)",
@@ -5961,6 +5965,17 @@ void OSD::do_command(Connection *con, ceph_tid_t tid, vector<string>& cmd, buffe
     }
     osd_lock.Lock();
   }
+  else if (prefix == "config get") {
+    std::string key;
+    cmd_getval(cct, cmdmap, "key", key);
+    osd_lock.Unlock();
+    std::string val;
+    r = cct->_conf->get_val(key, &val);
+    if (r == 0) {
+      ds << val;
+    }
+    osd_lock.Lock();
+  }
   else if (prefix == "config unset") {
     std::string key;
     cmd_getval(cct, cmdmap, "key", key);