summaryrefslogtreecommitdiff
path: root/ncserver
diff options
context:
space:
mode:
Diffstat (limited to 'ncserver')
-rw-r--r--ncserver/base/modman.py4
-rw-r--r--ncserver/server.py17
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