Skip to content

Commit 7a32ce9

Browse files
authored
Merge pull request ceph#53858 from ushitora-anqou/add-metadata-for-mon
mon: add created_at and ceph_version_when_created meta Reviewed-by: Radoslaw Zarzynski <[email protected]>
2 parents cba1ba0 + 3156167 commit 7a32ce9

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/mon/Monitor.cc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2377,6 +2377,19 @@ void Monitor::collect_metadata(Metadata *m)
23772377
for (auto& i : errs) {
23782378
dout(1) << __func__ << " " << i.first << ": " << i.second << dendl;
23792379
}
2380+
2381+
string ceph_version_when_created;
2382+
int r = store->read_meta("ceph_version_when_created", &ceph_version_when_created);
2383+
if (r < 0 || ceph_version_when_created.empty()) {
2384+
ceph_version_when_created = "";
2385+
}
2386+
(*m)["ceph_version_when_created"] = ceph_version_when_created;
2387+
string created_at;
2388+
r = store->read_meta("created_at", &created_at);
2389+
if (r < 0 || created_at.empty()) {
2390+
created_at = "";
2391+
}
2392+
(*m)["created_at"] = created_at;
23802393
}
23812394

23822395
void Monitor::finish_election()

src/mon/MonitorDBStore.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "common/safe_io.h"
3232
#include "common/blkdev.h"
3333
#include "common/PriorityCache.h"
34+
#include "common/version.h"
3435

3536
#define dout_context g_ceph_context
3637

@@ -698,9 +699,20 @@ class MonitorDBStore
698699
}
699700

700701
int create_and_open(std::ostream &out) {
702+
int r = write_meta("ceph_version_when_created", pretty_version_to_str());
703+
if (r < 0)
704+
return r;
705+
706+
std::ostringstream created_at;
707+
utime_t now = ceph_clock_now();
708+
now.gmtime(created_at);
709+
r = write_meta("created_at", created_at.str());
710+
if (r < 0)
711+
return r;
712+
701713
// record the type before open
702714
std::string kv_type;
703-
int r = read_meta("kv_backend", &kv_type);
715+
r = read_meta("kv_backend", &kv_type);
704716
if (r < 0) {
705717
kv_type = g_conf()->mon_keyvaluedb;
706718
r = write_meta("kv_backend", kv_type);

0 commit comments

Comments
 (0)