From 7e0c84b84d80f9adb82bf99b92f6e94c7f3f060e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 17 Dec 2013 12:21:41 -0800 Subject: [PATCH] mon/OSDMonitor: 'osd crush show-tunables' Signed-off-by: Sage Weil --- qa/workunits/cephtool/test.sh | 2 ++ src/mon/MonCommands.h | 2 ++ src/mon/OSDMonitor.cc | 14 ++++++++++++++ 3 files changed, 18 insertions(+) diff --git a/qa/workunits/cephtool/test.sh b/qa/workunits/cephtool/test.sh index fe77205acf684..3f9a12da27a49 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 11da779a43d0e..ec1baf2d2bd9b 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 03f89728d3e42..35cb4fae261bd 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; -- 2.39.5