X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fsfa-server.py;h=134b44aed936eebb598635a6770696bd30ea8a03;hb=3d7237fa0b5f2b4a60cb97c7fb3b6aecfd94558a;hp=ec0532b3f90cec3f2d200af9d8b82fc1d9830eb1;hpb=349584bfab7b0357744080f8aa5e7afe22c93de7;p=sfa.git diff --git a/sfa/server/sfa-server.py b/sfa/server/sfa-server.py index ec0532b3..134b44ae 100755 --- a/sfa/server/sfa-server.py +++ b/sfa/server/sfa-server.py @@ -3,9 +3,9 @@ ### $Id$ ### $URL$ # -# GENI PLC Wrapper +# SFA PLC Wrapper # -# This wrapper implements the Geni Registry and Slice Interfaces on PLC. +# This wrapper implements the SFA Registry and Slice Interfaces on PLC. # Depending on command line options, it starts some combination of a # Registry, an Aggregate Manager, and a Slice Manager. # @@ -18,7 +18,7 @@ # is up to date and accurate. # # 1) Import the existing planetlab database, creating the -# appropriate geni records. This is done by running the "sfa-import-plc.py" tool. +# appropriate SFA records. This is done by running the "sfa-import-plc.py" tool. # # 2) Create a "trusted_roots" directory and place the certificate of the root # authority in that directory. Given the defaults in sfa-import-plc.py, this @@ -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 = 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 = 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 = 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 = 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