diff options
-rw-r--r-- | ncserver/base/modman.py | 4 | ||||
-rw-r--r-- | ncserver/server.py | 17 |
2 files changed, 12 insertions, 9 deletions
diff --git a/ncserver/base/modman.py b/ncserver/base/modman.py index a47fa3e..d8659a2 100644 --- a/ncserver/base/modman.py +++ b/ncserver/base/modman.py @@ -325,3 +325,7 @@ class ModuleManager: raise error.OperationNotSupportedAppError(rpc) self.logger.debug('Dispatching edit-config to %s', module.M_NAME) module.edit(session, rpc, child, def_op) + + +MODMAN = ModuleManager() +"""The global module manager instance.""" diff --git a/ncserver/server.py b/ncserver/server.py index 173d165..bbccec7 100644 --- a/ncserver/server.py +++ b/ncserver/server.py @@ -22,7 +22,7 @@ from netconf.server import NetconfSSHServer, SSHAuthorizedKeysController from ncserver.base.log import configure_logging, LOG_AUTH, LOG_CONFIG, \ LOG_OPERATIONAL -from ncserver.base.modman import ModuleManager +from ncserver.base.modman import MODMAN from ncserver.base.util import user_for_session from ncserver.config import ConfigManager @@ -104,9 +104,8 @@ class Server: self.auth, self, port, self.config.get('server', 'host_key'), self.debug ) - self.modman = ModuleManager() for module in self.config.get_list('server', 'modules'): - self.modman.load_module(module) + MODMAN.load_module(module) def __getattr__(self, attr): """Maybe pass RPC calls on.""" @@ -126,7 +125,7 @@ class Server: # Filter with XPath in addition to subtrees. 'urn:ietf:params:netconf:capability:xpath:1.0' ] - for capab in self.modman.capabilities(): + for capab in MODMAN.capabilities(): util.subelm(capabilities, 'capability').text = capab for capab in our_capabs: util.subelm(capabilities, 'capability').text = capab @@ -138,9 +137,9 @@ class Server: 'RPC %s invoked by %s on session %d', name, user_for_session(session), session.session_id ) - if self.modman.has_rpc(name): + if MODMAN.has_rpc(name): try: - result = self.modman.rpc(name)(session, rpc, *params) + result = MODMAN.rpc(name)(session, rpc, *params) LOG_OPERATIONAL.info( 'RPC %s invoked by %s on session %d completed', name, user_for_session(session), session.session_id @@ -164,7 +163,7 @@ class Server: """Handle the <get/> RPC.""" log_read(session, rpc) root = util.elm('nc:data') - self.modman.collect_operational(root) + MODMAN.collect_operational(root) return util.filter_results(rpc, root, filter_or_none, self.debug) @@ -173,7 +172,7 @@ class Server: """Handle the <get-config/> RPC.""" log_read(session, rpc) root = util.elm('nc:data') - self.modman.collect_running(root) + MODMAN.collect_running(root) return util.filter_results(rpc, root, filter_or_none, self.debug) @@ -196,7 +195,7 @@ class Server: else: def_op = default_or_none.text - self.modman.collect_edit(session, rpc, config, def_op) + MODMAN.collect_edit(session, rpc, config, def_op) root = util.elm('nc:ok') return root |