]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix log_client config 2862/head
authorSage Weil <sage@redhat.com>
Mon, 3 Nov 2014 09:57:20 +0000 (01:57 -0800)
committerSage Weil <sage@redhat.com>
Wed, 5 Nov 2014 09:06:02 +0000 (01:06 -0800)
This broke when channels were refactored.  Set and update log_client
config using generic helpers.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mds/MDS.cc
src/mds/MDS.h

index cc49223df22010e4bc2cbf4fb72150a4d13aeba9..3cc24d0767ccbc8e387c7719ad8ddcb35284178d 100644 (file)
@@ -338,6 +338,11 @@ const char** MDS::get_tracked_conf_keys() const
   static const char* KEYS[] = {
     "mds_op_complaint_time", "mds_op_log_threshold",
     "mds_op_history_size", "mds_op_history_duration",
+    // clog & admin clog
+    "clog_to_monitors",
+    "clog_to_syslog",
+    "clog_to_syslog_facility",
+    "clog_to_syslog_level",
     NULL
   };
   return KEYS;
@@ -356,6 +361,25 @@ void MDS::handle_conf_change(const struct md_config_t *conf,
     op_tracker.set_history_size_and_duration(conf->mds_op_history_size,
                                              conf->mds_op_history_duration);
   }
+  if (changed.count("clog_to_monitors") ||
+      changed.count("clog_to_syslog") ||
+      changed.count("clog_to_syslog_level") ||
+      changed.count("clog_to_syslog_facility")) {
+    update_log_config();
+  }
+}
+
+void MDS::update_log_config()
+{
+  map<string,string> log_to_monitors;
+  map<string,string> log_to_syslog;
+  map<string,string> log_channel;
+  map<string,string> log_prio;
+  if (parse_log_client_options(g_ceph_context, log_to_monitors, log_to_syslog,
+                              log_channel, log_prio) == 0)
+    clog->update_config(log_to_monitors, log_to_syslog,
+                       log_channel, log_prio);
+  derr << "log_to_monitors " << log_to_monitors << dendl;
 }
 
 void MDS::create_logger()
@@ -611,6 +635,7 @@ int MDS::init(MDSMap::DaemonState wanted_state)
 
   // tell monc about log_client so it will know about mon session resets
   monc->set_log_client(&log_client);
+  update_log_config();
   
   int r = monc->authenticate();
   if (r < 0) {
index d3d5cc2ca5ae60e8a924b1b82b4d1c18aa8d438c..50b3560239dfa397ea01dd1355685a7169cd44a2 100644 (file)
@@ -381,6 +381,7 @@ private:
   virtual void handle_conf_change(const struct md_config_t *conf,
                                  const std::set <std::string> &changed);
   void create_logger();
+  void update_log_config();
 
   void bcast_mds_map();  // to mounted clients