From: Sage Weil Date: Tue, 17 Dec 2013 20:21:41 +0000 (-0800) Subject: mon/OSDMonitor: 'osd crush show-tunables' X-Git-Tag: v0.75~82^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F955%2Fhead;p=ceph.git mon/OSDMonitor: 'osd crush show-tunables' Signed-off-by: Sage Weil --- diff --git a/qa/workunits/cephtool/test.sh b/qa/workunits/cephtool/test.sh index fe77205acf6..3f9a12da27a 100755 --- a/qa/workunits/cephtool/test.sh +++ b/qa/workunits/cephtool/test.sh @@ -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 diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 11da779a43d..ec1baf2d2bd 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -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 ", "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-_.] " \ diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 03f89728d3e..35cb4fae261 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -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 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;