]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: generate cluster_fingerprint if null 2291/head
authorSage Weil <sage@redhat.com>
Thu, 21 Aug 2014 18:14:39 +0000 (11:14 -0700)
committerSage Weil <sage@redhat.com>
Thu, 21 Aug 2014 18:14:46 +0000 (11:14 -0700)
This triggers after an upgrade of a legacy cluster that has no fingerprint.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/Monitor.cc

index 919e240ad7904aa7e2dbdb1919948c511a3244c6..537cefd82d6af1ce5891b13188884cf62b2c237c 100644 (file)
@@ -3945,6 +3945,15 @@ void Monitor::tick()
     finish_contexts(g_ceph_context, maybe_wait_for_quorum);
   }
 
+  if (is_leader() && paxos->is_active() && fingerprint.is_zero()) {
+    // this is only necessary on upgraded clusters.
+    MonitorDBStore::Transaction t;
+    prepare_new_fingerprint(&t);
+    bufferlist tbl;
+    t.encode(tbl);
+    paxos->propose_new_value(tbl, new C_NoopContext);
+  }
+
   new_tick();
 }