]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/AuthMonitor: request max_global_id increase from peon in tick
authorSage Weil <sage@redhat.com>
Mon, 4 Feb 2019 08:48:56 +0000 (02:48 -0600)
committerSage Weil <sage@redhat.com>
Thu, 7 Feb 2019 18:10:34 +0000 (12:10 -0600)
For authv2, we only increase max_global_id from tick, not via prep_auth(), so we
need to ask the leader for more IDs here as we do there.

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

index 9ad76cdc46a23446331da18f27b0b3594d14d134..4bff330c489be7398bbb040f710a0684035499f2 100644 (file)
@@ -71,13 +71,23 @@ void AuthMonitor::tick()
 
   dout(10) << *this << dendl;
 
-  if (!mon->is_leader()) return;
-
   // increase global_id?
   bool propose = false;
   if (should_increase_max_global_id()) {
-    increase_max_global_id();
-    propose = true;
+    if (mon->is_leader()) {
+      increase_max_global_id();
+      propose = true;
+    } else {
+      dout(10) << __func__ << "requesting more ids from leader" << dendl;
+      int leader = mon->get_leader();
+      MMonGlobalID *req = new MMonGlobalID();
+      req->old_max_id = max_global_id;
+      mon->send_mon_message(req, leader);
+    }
+  }
+
+  if (!mon->is_leader()) {
+    return;
   }
 
   if (check_rotate()) {