]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: expose Objecter to PyModules
authorJohn Spray <john.spray@redhat.com>
Sat, 4 Feb 2017 21:20:44 +0000 (21:20 +0000)
committerKefu Chai <kchai@redhat.com>
Wed, 3 May 2017 02:37:17 +0000 (10:37 +0800)
Same motivation as exposing MonClient: so that modules
can get at the command sending code.

Signed-off-by: John Spray <john.spray@redhat.com>
src/mgr/Mgr.cc
src/mgr/PyModules.cc
src/mgr/PyModules.h

index eb6c9a1639b28991a4761e8e897008dd29fe69d9..fa534aa0b1406f60c69bbb393ef7879ac4a3f80c 100644 (file)
@@ -46,7 +46,7 @@ Mgr::Mgr(MonClient *monc_, Messenger *clientm_, Objecter *objecter_,
   lock("Mgr::lock"),
   timer(g_ceph_context, lock),
   finisher(g_ceph_context, "Mgr", "mgr-fin"),
-  py_modules(daemon_state, cluster_state, *monc, finisher),
+  py_modules(daemon_state, cluster_state, *monc, *objecter, finisher),
   cluster_state(monc, nullptr),
   server(monc, finisher, daemon_state, cluster_state, py_modules,
          clog_, audit_clog_),
index b8c077ceceea90f171d28f2ec18f8320b89ce772..0c28ef2e91f1156dbbf9f3137c40513793db4a56 100644 (file)
@@ -61,8 +61,11 @@ namespace {
 #define dout_prefix *_dout << "mgr " << __func__ << " "
 
 PyModules::PyModules(DaemonStateIndex &ds, ClusterState &cs, MonClient &mc,
+                     Objecter &objecter_,
                     Finisher &f)
-  : daemon_state(ds), cluster_state(cs), monc(mc), finisher(f)
+  : daemon_state(ds), cluster_state(cs), monc(mc),
+    objecter(objecter_),
+    finisher(f)
 {}
 
 // we can not have the default destructor in header, because ServeThread is
index 6c6361a812592409a4cb560c480e0bd13036db3b..0005dabb1b0b6b0f0a588cba4c2b895236c1e797 100644 (file)
@@ -32,6 +32,7 @@ class PyModules
   DaemonStateIndex &daemon_state;
   ClusterState &cluster_state;
   MonClient &monc;
+  Objecter &objecter;
   Finisher &finisher;
 
   mutable Mutex lock{"PyModules"};
@@ -42,12 +43,14 @@ public:
   static constexpr auto config_prefix = "mgr.";
 
   PyModules(DaemonStateIndex &ds, ClusterState &cs, MonClient &mc,
+            Objecter &objecter_,
             Finisher &f);
 
   ~PyModules();
 
   // FIXME: wrap for send_command?
   MonClient &get_monc() {return monc;}
+  Objecter  &get_objecter() {return objecter;}
 
   PyObject *get_python(const std::string &what);
   PyObject *get_server_python(const std::string &hostname);