summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-11-24 18:00:00 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-11-24 18:00:00 -0600
commit4e78d68029311a5f541ebf71efda91f3449c66d6 (patch)
tree09a84c6ae0274011c093dffabcf8b74f4b359682
parent5cdaf24f9368f49f32547a6852b46dd2bfec4c21 (diff)
downloadnetconfapk-4e78d68029311a5f541ebf71efda91f3449c66d6.tar.gz
netconfapk-4e78d68029311a5f541ebf71efda91f3449c66d6.tar.bz2
netconfapk-4e78d68029311a5f541ebf71efda91f3449c66d6.tar.xz
netconfapk-4e78d68029311a5f541ebf71efda91f3449c66d6.zip
Make ModuleManager something everyone can access
-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