X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fsfa-start.py;h=cb14adb3335e6626a7a61ccf44f82b1060df592a;hb=31cc4fa991896f000abb106916662923f37bc3a6;hp=cf4ee58630e3a6d4e67c126d3699659548d8023b;hpb=00440a7c7e509301cb49db90ff15abc0f479aaf3;p=sfa.git diff --git a/sfa/server/sfa-start.py b/sfa/server/sfa-start.py index cf4ee586..cb14adb3 100755 --- a/sfa/server/sfa-start.py +++ b/sfa/server/sfa-start.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python2 # # PlanetLab SFA implementation # @@ -25,8 +25,6 @@ # TODO: Can all three servers use the same "registry" certificate? ## -# xxx todo not in the config yet -component_port = 12346 import os import os.path import traceback @@ -36,40 +34,18 @@ from optparse import OptionParser from sfa.util.sfalogging import init_logger, logger from sfa.util.xrn import get_authority, hrn_to_urn from sfa.util.config import Config + from sfa.trust.gid import GID from sfa.trust.trustedroots import TrustedRoots from sfa.trust.certificate import Keypair, Certificate from sfa.trust.hierarchy import Hierarchy from sfa.trust.gid import GID + from sfa.server.sfaapi import SfaApi from sfa.server.registry import Registries from sfa.server.aggregate import Aggregates -from sfa.client.return_value import ReturnValue - -def daemon(): - """ - Daemonize the current process. - after http://www.erlenstar.demon.co.uk/unix/faq_2.html - """ - if os.fork() != 0: - os._exit(0) - os.setsid() - if os.fork() != 0: - os._exit(0) - os.umask(0) - devnull = os.open(os.devnull, os.O_RDWR) - os.dup2(devnull, 0) - # xxx fixme - this is just to make sure that nothing gets stupidly lost - - # should use devnull - logdir = '/var/log/httpd' - # when installed in standalone we might not have httpd installed - if not os.path.isdir(logdir): - os.mkdir('/var/log/httpd') - crashlog = os.open('%s/sfa_access_log' % logdir, - os.O_RDWR | os.O_APPEND | os.O_CREAT, 0644) - os.dup2(crashlog, 1) - os.dup2(crashlog, 2) +from sfa.client.return_value import ReturnValue def install_peer_certs(server_key_file, server_cert_file): @@ -130,11 +106,11 @@ def install_peer_certs(server_key_file, server_cert_file): gid.save_to_file(gid_filename, save_parents=True) message = "installed trusted cert for %s" % new_hrn # log the message - api.logger.info(message) + logger.info(message) except Exception: message = "interface: %s\tunable to install trusted gid for %s" % \ (api.interface, new_hrn) - api.logger.log_exc(message) + logger.log_exc(message) # doesnt matter witch one update_cert_records(peer_gids) @@ -183,17 +159,11 @@ def main(): parser = OptionParser(usage="sfa-start.py [options]") parser.add_option("-r", "--registry", dest="registry", action="store_true", help="run registry server", default=False) - parser.add_option("-s", "--slicemgr", dest="sm", action="store_true", - help="run slice manager", default=False) parser.add_option("-a", "--aggregate", dest="am", action="store_true", help="run aggregate manager", default=False) - parser.add_option("-c", "--component", dest="cm", action="store_true", - help="run component server", default=False) parser.add_option("-t", "--trusted-certs", dest="trusted_certs", action="store_true", help="refresh trusted certs", default=False) - parser.add_option("-d", "--daemon", dest="daemon", action="store_true", - help="Run as daemon.", default=False) (options, args) = parser.parse_args() config = Config() @@ -209,8 +179,6 @@ def main(): # ensure interface cert is present in trusted roots dir trusted_roots = TrustedRoots(config.get_trustedroots_dir()) trusted_roots.add_gid(GID(filename=server_cert_file)) - if (options.daemon): - daemon() if options.trusted_certs: install_peer_certs(server_key_file, server_cert_file) @@ -228,19 +196,6 @@ def main(): server_key_file, server_cert_file) a.start() - # start slice manager - if (options.sm): - from sfa.server.slicemgr import SliceMgr - s = SliceMgr("", config.SFA_SM_PORT, server_key_file, server_cert_file) - s.start() - - if (options.cm): - from sfa.server.component import Component - c = Component("", config.component_port, - server_key_file, server_cert_file) -# c = Component("", config.SFA_COMPONENT_PORT, server_key_file, server_cert_file) - c.start() - if __name__ == "__main__": try: main()