From 378c38839716edcb5efc1736d17fa059b8cb5cfc Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Sun, 20 Dec 2009 23:04:52 +0000 Subject: [PATCH] if the init_server() method is defined in the interfaces manager module, execute it when the server starts --- sfa/server/sfa-server.py | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/sfa/server/sfa-server.py b/sfa/server/sfa-server.py index ec0532b3..8a3df65d 100755 --- a/sfa/server/sfa-server.py +++ b/sfa/server/sfa-server.py @@ -112,6 +112,41 @@ def init_server_key(server_key_file, server_cert_file, config, hierarchy): cert.sign() cert.save_to_file(server_cert_file) +def init_server(options, config): + """ + Execute the init method defined in the manager file + """ + manager_base = 'sfa.managers' + if options.registry: + mgr_type = self.api.config.SFA_REGISTRY_TYPE + manager_module = manager_base + ".registry_manager_%s" % mgr_type + try: manager = __import__(manager_module, fromlist=[manager_base]) + except: manager = None + if manager and hasattr(manager, 'init_server'): + manager.init_server() + if options.am: + mgr_type = self.api.config.SFA_AGGREGATE_TYPE + manager_module = manager_base + ".aggregate_manager_%s" % mgr_type + try: manager = __import__(manager_module, fromlist=[manager_base]) + except: manager = None + if manager and hasattr(manager, 'init_server'): + manager.init_server() + if options.sm: + mgr_type = self.api.config.SFA_SM_TYPE + manager_module = manager_base + ".slice_manager_%s" % mgr_type + try: manager = __import__(manager_module, fromlist=[manager_base]) + except: manager = None + if manager and hasattr(manager, 'init_server'): + manager.init_server() + if options.cm: + mgr_type = self.api.config.SFA_CM_TYPE + manager_module = manager_base + ".component_manager_%s" % mgr_type + try: manager = __import__(manager_module, fromlist=[manager_base]) + except: manager = None + if manager and hasattr(manager, 'init_server'): + manager.init_server() + + def main(): # xxx get rid of globals - name consistently CamelCase or under_score global AuthHierarchy @@ -145,7 +180,8 @@ def main(): server_cert_file = os.path.join(hierarchy.basedir, "server.cert") init_server_key(server_key_file, server_cert_file, config, hierarchy) - + init_server(options, config) + # start registry server if (options.registry): from sfa.server.registry import Registry -- 2.47.0