From 0d0c5182606fdfad70426ee57059c4620f67a821 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 24 Feb 2017 14:37:58 -0500 Subject: [PATCH] mon,mgr: move "pg ..." commands to MgrCommands, but keep #including on mon These will become mgr commands. Move them untouched to MgrCommands.h, but for now include them in the mon_commands with the new MGR flag on them. Signed-off-by: Sage Weil --- src/mgr/MgrCommands.h | 58 +++++++++++++++++++++ src/mon/MonCommands.h | 50 ++---------------- src/mon/Monitor.cc | 13 +++++ src/test/common/get_command_descriptions.cc | 14 ++++- 4 files changed, 87 insertions(+), 48 deletions(-) create mode 100644 src/mgr/MgrCommands.h diff --git a/src/mgr/MgrCommands.h b/src/mgr/MgrCommands.h new file mode 100644 index 0000000000000..e78b831f11748 --- /dev/null +++ b/src/mgr/MgrCommands.h @@ -0,0 +1,58 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab + +/* no guard; may be included multiple times */ + +// see MonCommands.h + +COMMAND("pg stat", "show placement group status.", + "pg", "r", "cli,rest") +COMMAND("pg getmap", "get binary pg map to -o/stdout", "pg", "r", "cli,rest") +COMMAND("pg dump " \ + "name=dumpcontents,type=CephChoices,strings=all|summary|sum|delta|pools|osds|pgs|pgs_brief,n=N,req=false", \ + "show human-readable versions of pg map (only 'all' valid with plain)", "pg", "r", "cli,rest") +COMMAND("pg dump_json " \ + "name=dumpcontents,type=CephChoices,strings=all|summary|sum|pools|osds|pgs,n=N,req=false", \ + "show human-readable version of pg map in json only",\ + "pg", "r", "cli,rest") +COMMAND("pg dump_pools_json", "show pg pools info in json only",\ + "pg", "r", "cli,rest") +COMMAND("pg dump_stuck " \ + "name=stuckops,type=CephChoices,strings=inactive|unclean|stale|undersized|degraded,n=N,req=false " \ + "name=threshold,type=CephInt,req=false", + "show information about stuck pgs",\ + "pg", "r", "cli,rest") +COMMAND("pg ls-by-pool " \ + "name=poolstr,type=CephString " \ + "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ + "list pg with pool = [poolname]", "pg", "r", "cli,rest") +COMMAND("pg ls-by-primary " \ + "name=osd,type=CephOsdName " \ + "name=pool,type=CephInt,req=false " \ + "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ + "list pg with primary = [osd]", "pg", "r", "cli,rest") +COMMAND("pg ls-by-osd " \ + "name=osd,type=CephOsdName " \ + "name=pool,type=CephInt,req=false " \ + "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ + "list pg on osd [osd]", "pg", "r", "cli,rest") +COMMAND("pg ls " \ + "name=pool,type=CephInt,req=false " \ + "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ + "list pg with specific pool, osd, state", "pg", "r", "cli,rest") +COMMAND("pg map name=pgid,type=CephPgid", "show mapping of pg to osds", \ + "pg", "r", "cli,rest") +COMMAND("pg scrub name=pgid,type=CephPgid", "start scrub on ", \ + "pg", "rw", "cli,rest") +COMMAND("pg deep-scrub name=pgid,type=CephPgid", "start deep-scrub on ", \ + "pg", "rw", "cli,rest") +COMMAND("pg repair name=pgid,type=CephPgid", "start repair on ", \ + "pg", "rw", "cli,rest") +COMMAND("pg debug " \ + "name=debugop,type=CephChoices,strings=unfound_objects_exist|degraded_pgs_exist", \ + "show debug info about pgs", "pg", "r", "cli,rest") +COMMAND("pg set_full_ratio name=ratio,type=CephFloat,range=0.0|1.0", \ + "set ratio at which pgs are considered full", "pg", "rw", "cli,rest") +COMMAND("pg set_nearfull_ratio name=ratio,type=CephFloat,range=0.0|1.0", \ + "set ratio at which pgs are considered nearly full", \ + "pg", "rw", "cli,rest") diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index ec643d3374dbc..6e0e70ddecfa1 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -119,60 +119,16 @@ */ /* - * pg commands PgMonitor.cc + * pg commands PGMonitor.cc */ -COMMAND("pg stat", "show placement group status.", "pg", "r", "cli,rest") -COMMAND("pg getmap", "get binary pg map to -o/stdout", "pg", "r", "cli,rest") -COMMAND("pg dump " \ - "name=dumpcontents,type=CephChoices,strings=all|summary|sum|delta|pools|osds|pgs|pgs_brief,n=N,req=false", \ - "show human-readable versions of pg map (only 'all' valid with plain)", "pg", "r", "cli,rest") -COMMAND("pg dump_json " \ - "name=dumpcontents,type=CephChoices,strings=all|summary|sum|pools|osds|pgs,n=N,req=false", \ - "show human-readable version of pg map in json only",\ - "pg", "r", "cli,rest") -COMMAND("pg dump_pools_json", "show pg pools info in json only",\ - "pg", "r", "cli,rest") -COMMAND("pg dump_stuck " \ - "name=stuckops,type=CephChoices,strings=inactive|unclean|stale|undersized|degraded,n=N,req=false " \ - "name=threshold,type=CephInt,req=false", - "show information about stuck pgs",\ - "pg", "r", "cli,rest") -COMMAND("pg ls-by-pool " \ - "name=poolstr,type=CephString " \ - "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ - "list pg with pool = [poolname]", "pg", "r", "cli,rest") -COMMAND("pg ls-by-primary " \ - "name=osd,type=CephOsdName " \ - "name=pool,type=CephInt,req=false " \ - "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ - "list pg with primary = [osd]", "pg", "r", "cli,rest") -COMMAND("pg ls-by-osd " \ - "name=osd,type=CephOsdName " \ - "name=pool,type=CephInt,req=false " \ - "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ - "list pg on osd [osd]", "pg", "r", "cli,rest") -COMMAND("pg ls " \ - "name=pool,type=CephInt,req=false " \ - "name=states,type=CephChoices,strings=active|clean|down|scrubbing|degraded|inconsistent|peering|repair|recovering|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized|activating|peered,n=N,req=false ", \ - "list pg with specific pool, osd, state", "pg", "r", "cli,rest") -COMMAND("pg map name=pgid,type=CephPgid", "show mapping of pg to osds", \ - "pg", "r", "cli,rest") -COMMAND("pg scrub name=pgid,type=CephPgid", "start scrub on ", \ - "pg", "rw", "cli,rest") -COMMAND("pg deep-scrub name=pgid,type=CephPgid", "start deep-scrub on ", \ - "pg", "rw", "cli,rest") -COMMAND("pg repair name=pgid,type=CephPgid", "start repair on ", \ - "pg", "rw", "cli,rest") -COMMAND("pg debug " \ - "name=debugop,type=CephChoices,strings=unfound_objects_exist|degraded_pgs_exist", \ - "show debug info about pgs", "pg", "r", "cli,rest") +// note: this should be replaced shortly! COMMAND("pg force_create_pg name=pgid,type=CephPgid", \ "force creation of pg ", "pg", "rw", "cli,rest") COMMAND("pg set_full_ratio name=ratio,type=CephFloat,range=0.0|1.0", \ "set ratio at which pgs are considered full", "pg", "rw", "cli,rest") COMMAND("pg set_nearfull_ratio name=ratio,type=CephFloat,range=0.0|1.0", \ - "set ratio at which pgs are considered nearly full", \ + "set ratio at which pgs are considered nearly full", \ "pg", "rw", "cli,rest") /* diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 1ba3c28f8c7f3..19e8e05180a6b 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -106,6 +106,19 @@ MonCommand mon_commands[] = { #define COMMAND_WITH_FLAG(parsesig, helptext, modulename, req_perms, avail, flags) \ {parsesig, helptext, modulename, req_perms, avail, flags}, #include +#undef COMMAND +#undef COMMAND_WITH_FLAG + + // FIXME: slurp up the Mgr commands too + +#define COMMAND(parsesig, helptext, modulename, req_perms, avail) \ + {parsesig, helptext, modulename, req_perms, avail, FLAG(MGR)}, +#define COMMAND_WITH_FLAG(parsesig, helptext, modulename, req_perms, avail, flags) \ + {parsesig, helptext, modulename, req_perms, avail, flags | FLAG(MGR)}, +#include +#undef COMMAND +#undef COMMAND_WITH_FLAG + }; diff --git a/src/test/common/get_command_descriptions.cc b/src/test/common/get_command_descriptions.cc index 1b4da3f89590a..236122ae7986d 100644 --- a/src/test/common/get_command_descriptions.cc +++ b/src/test/common/get_command_descriptions.cc @@ -63,7 +63,19 @@ static void all() #define COMMAND_WITH_FLAG(parsesig, helptext, modulename, req_perms, avail, flags) \ {parsesig, helptext, modulename, req_perms, avail, flags}, #include - }; +#undef COMMAND +#undef COMMAND_WITH_FLAG + + // FIXME: slurp up the Mgr commands too + +#define COMMAND(parsesig, helptext, modulename, req_perms, avail) \ + {parsesig, helptext, modulename, req_perms, avail, FLAG(MGR)}, +#define COMMAND_WITH_FLAG(parsesig, helptext, modulename, req_perms, avail, flags) \ + {parsesig, helptext, modulename, req_perms, avail, flags | FLAG(MGR)}, +#include + #undef COMMAND +#undef COMMAND_WITH_FLAG + }; json_print(mon_commands, ARRAY_SIZE(mon_commands)); } -- 2.39.5