#!/usr/bin/env python '''The XML-RPC Bcfg2 Server''' __revision__ = '$Revision$' import logging import sys from xmlrpclib import Fault import Bcfg2.Logger import Bcfg2.Options import Bcfg2.Component import Bcfg2.Server.Plugins.Metadata from Bcfg2.Server.Core import CoreInitError import Bcfg2.Server.XMLRPC logger = logging.getLogger('bcfg2-server') if __name__ == '__main__': OPTINFO = { 'configfile': Bcfg2.Options.CFILE, 'daemon' : Bcfg2.Options.DAEMON, 'debug' : Bcfg2.Options.DEBUG, 'help' : Bcfg2.Options.HELP, 'verbose' : Bcfg2.Options.VERBOSE, } OPTINFO.update({'repo': Bcfg2.Options.SERVER_REPOSITORY, 'plugins': Bcfg2.Options.SERVER_PLUGINS, 'password': Bcfg2.Options.SERVER_PASSWORD, 'filemonitor': Bcfg2.Options.SERVER_FILEMONITOR, }) OPTINFO.update({'key' : Bcfg2.Options.SERVER_KEY, 'cert' : Bcfg2.Options.SERVER_CERT, 'ca' : Bcfg2.Options.SERVER_CA, 'location' : Bcfg2.Options.SERVER_LOCATION, 'passwd' : Bcfg2.Options.SERVER_PASSWORD, 'static' : Bcfg2.Options.SERVER_STATIC, 'encoding' : Bcfg2.Options.ENCODING, 'filelog' : Bcfg2.Options.LOGGING_FILE_PATH, }) setup = Bcfg2.Options.OptionParser(OPTINFO) setup.parse(sys.argv[1:]) print setup try: Bcfg2.Component.run_component(Bcfg2.Server.XMLRPC.bcfg2_server, location=setup['location'], daemon = setup['daemon'], pidfile_name = setup['daemon'], register=False, cls_kwargs={'setup':setup}, keyfile=setup['key'], certfile=setup['cert'], ca=setup['ca'], ) except KeyboardInterrupt: sys.exit(1) sys.exit(0)