Show recent config changes.
Signed-off-by: Sage Weil <sage@redhat.com>
f->flush(odata);
}
}
+ } else if (prefix == "config log") {
+ int64_t num = 10;
+ cmd_getval(g_ceph_context, cmdmap, "num", num);
+ ostringstream ds;
+ if (f) {
+ f->open_array_section("changesets");
+ }
+ for (version_t v = version; v > version - std::min(version, (version_t)num); --v) {
+ ConfigChangeSet ch;
+ load_changeset(v, &ch);
+ if (f) {
+ f->dump_object("changeset", ch);
+ } else {
+ ch.print(ds);
+ }
+ }
+ if (f) {
+ f->close_section();
+ f->flush(odata);
+ } else {
+ odata.append(ds.str());
+ }
} else {
return false;
}
void init() override;
void load_config();
+ void load_changeset(version_t v, ConfigChangeSet *ch);
bool preprocess_query(MonOpRequestRef op) override;
bool prepare_update(MonOpRequestRef op) override;
COMMAND("config assimilate-conf",
"Assimilate options from a conf, and return a new, minimal conf file",
"config", "rw", "cli,rest")
+COMMAND("config log name=num,type=CephInt,req=False",
+ "Show recent history of config changes",
+ "config", "r", "cli,rest")
+