]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon: adjust pgservice based on OSDMap require_luminous flag
authorSage Weil <sage@redhat.com>
Mon, 15 May 2017 18:53:57 +0000 (14:53 -0400)
committerSage Weil <sage@redhat.com>
Fri, 2 Jun 2017 17:02:08 +0000 (13:02 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/Monitor.cc
src/mon/OSDMonitor.cc

index c32a613d880163056c14cbe971264e501bde07c8..9bc2e5cec2b29b172d91d1d1994159de0bb646d4 100644 (file)
@@ -244,6 +244,7 @@ Monitor::Monitor(CephContext* cct_, string nm, MonitorDBStore *s,
   get_locally_supported_monitor_commands(&cmds, &cmdsize);
   set_leader_supported_commands(cmds, cmdsize);
 
+  // note: OSDMonitor may update this based on the luminous flag.
   pgservice = mgrmon()->get_pg_stat_service();
 }
 
index 6f736373aaafac391936f58c3cc70bc9ac69cbbd..1a5435d531a8f1d73d1cbd4ec342c1e8e7d61d52 100644 (file)
@@ -23,6 +23,7 @@
 #include "Monitor.h"
 #include "MDSMonitor.h"
 #include "PGMonitor.h"
+#include "MgrMonitor.h"
 
 #include "MonitorDBStore.h"
 #include "Session.h"
@@ -339,6 +340,13 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
     }
   }
 
+  // make sure we're using the right pg service.. remove me post-luminous!
+  if (osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
+    mon->pgservice = mon->mgrmon()->get_pg_stat_service();
+  } else {
+    mon->pgservice = mon->pgmon()->get_pg_stat_service();
+  }
+
   // walk through incrementals
   MonitorDBStore::TransactionRef t;
   size_t tx_size = 0;
@@ -400,6 +408,13 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
       t->erase("mkfs", "osdmap");
     }
 
+    // make sure we're using the right pg service.. remove me post-luminous!
+    if (osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
+      mon->pgservice = mon->mgrmon()->get_pg_stat_service();
+    } else {
+      mon->pgservice = mon->pgmon()->get_pg_stat_service();
+    }
+
     if (tx_size > g_conf->mon_sync_max_payload_size*2) {
       mon->store->apply_transaction(t);
       t = MonitorDBStore::TransactionRef();