Modules can implement a second, separate class
that has access to very little state about the
system and can't implement commands.
They have just enough information to redirect
or forward incoming requests/traffic to the
active instance of the module on the active mgr.
This enables module authors to create modules
that end users can access via any (running) mgr node
at any time, rather than having to first work out
which mgr node is active.
Signed-off-by: John Spray <john.spray@redhat.com>
mgr/DaemonServer.cc
mgr/ClusterState.cc
mgr/ActivePyModules.cc
+ mgr/StandbyPyModules.cc
mgr/PyModuleRegistry.cc
mgr/PyFormatter.cc
mgr/PyOSDMap.cc
mgr/BaseMgrModule.cc
+ mgr/BaseMgrStandbyModule.cc
mgr/ActivePyModule.cc
mgr/MgrStandby.cc
mgr/Mgr.cc