]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mgr: enable inter-module calls
authorJohn Spray <john.spray@redhat.com>
Thu, 14 Dec 2017 11:24:18 +0000 (06:24 -0500)
committerJohn Spray <john.spray@redhat.com>
Fri, 20 Jul 2018 17:07:17 +0000 (13:07 -0400)
commitf02316adb4baf4dceaab79cc0ef4c2acdb544f3e
treeea7ec11f4949be6efb9bdb609a86dfd389f3007a
parent0b5bed7ecfc1ba713496be9f88fd6fc9af36a639
mgr: enable inter-module calls

This is being done by passing native CPython objects
back and forth.  It's safe because sub-interpreters in CPython
share memory allocation infrastructure and share the GIL.

With a view to PEP554, we limit inter-interpreter calls
to pickleable objects, so that this may be implemented
using byte-arrays in future.

This infrastructure should enable:
 - the dashboard to display the status of other modules, for
   example the set of progress indicators from `progress`
 - dashboard and restful to share an underlying long running
   job mechanism.

Signed-off-by: John Spray <john.spray@redhat.com>
qa/tasks/mgr/test_module_selftest.py
src/mgr/ActivePyModule.cc
src/mgr/ActivePyModule.h
src/mgr/ActivePyModules.cc
src/mgr/ActivePyModules.h
src/mgr/BaseMgrModule.cc
src/pybind/mgr/mgr_module.py
src/pybind/mgr/selftest/module.py