]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: 'osd crush show-tunables' 955/head
authorSage Weil <sage@inktank.com>
Tue, 17 Dec 2013 20:21:41 +0000 (12:21 -0800)
committerSage Weil <sage@inktank.com>
Wed, 18 Dec 2013 16:35:25 +0000 (08:35 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
qa/workunits/cephtool/test.sh
src/mon/MonCommands.h
src/mon/OSDMonitor.cc

index fe77205acf68418d79e87d13778cd33ab0e125be..3f9a12da27a498d816256fa4406a4a2ae25f55e6 100755 (executable)
@@ -185,7 +185,9 @@ expect_false "ceph osd blacklist $bl/-1"
 expect_false "ceph osd blacklist $bl/foo"
 
 ceph osd crush tunables legacy
+ceph osd crush show-tunables | grep argonaut
 ceph osd crush tunables bobtail
+ceph osd crush show-tunables | grep bobtail
 
 # how do I tell when these are done?
 ceph osd scrub 0
index 11da779a43d0eda78b91fbcac01267c5df8394a2..ec1baf2d2bd9bc970528f49726ee4c1c192990ab 100644 (file)
@@ -429,6 +429,8 @@ COMMAND("osd crush reweight " \
 COMMAND("osd crush tunables " \
        "name=profile,type=CephChoices,strings=legacy|argonaut|bobtail|optimal|default", \
        "set crush tunables values to <profile>", "osd", "rw", "cli,rest")
+COMMAND("osd crush show-tunables", \
+       "show current crush tunables", "osd", "r", "cli,rest")
 COMMAND("osd crush rule create-simple " \
        "name=name,type=CephString,goodchars=[A-Za-z0-9-_.] " \
        "name=root,type=CephString,goodchars=[A-Za-z0-9-_.] " \
index 03f89728d3e4276dcdf75ed31b11ba8535009282..35cb4fae261bdc3a9256a61300787ab03653f9ba 100644 (file)
@@ -2534,6 +2534,20 @@ stats_out:
     f->flush(rs);
     rs << "\n";
     rdata.append(rs.str());
+  } else if (prefix == "osd crush show-tunables") {
+    string format;
+    cmd_getval(g_ceph_context, cmdmap, "format", format, string("json-pretty"));
+    Formatter *fp = new_formatter(format);
+    if (!fp)
+      fp = new_formatter("json-pretty");
+    boost::scoped_ptr<Formatter> f(fp);
+    f->open_object_section("crush_map_tunables");
+    osdmap.crush->dump_tunables(f.get());
+    f->close_section();
+    ostringstream rs;
+    f->flush(rs);
+    rs << "\n";
+    rdata.append(rs.str());
   } else {
     // try prepare update
     return false;