def init(dbs=[], services={}, templates=False): """Initialise Starts up most of the modules needed to support REST and Services Arguments: dbs (str[]): List of DBs to start up services (dict): Dictionary of service name to instance being managed by the caller Returns: REST.Config """ # Load the config Conf.load('config.json') sConfOverride = 'config.%s.json' % platform.node() if os.path.isfile(sConfOverride): Conf.load_merge(sConfOverride) # Add the global prepend Record_Base.dbPrepend(Conf.get(("mysql", "prepend"), '')) # Go through the list of DBs requested for s in dbs: Record_MySQL.addHost(s, Conf.get(("mysql", "hosts", s))) # Init the Sesh module Sesh.init(Conf.get(("redis", "primary"))) # Create the REST config instance oRestConf = REST.Config(Conf.get("rest")) # Set verbose mode if requested if 'VERBOSE' in os.environ and os.environ['VERBOSE'] == '1': Services.verbose() # Get all the services dServices = {k:None for k in Conf.get(('rest', 'services'))} # Overwrite those passed in for n,o in services.items(): dServices[n] = o # Register all services Services.register(dServices, oRestConf, Conf.get(('services', 'salt'))) # Init Templates if templates: Templates.init(templates) # Return the REST config return oRestConf
sVer = sys.argv[1].replace('.', '_') # Load the config Conf.load('../config.json') sConfOverride = '../config.%s.json' % platform.node() if os.path.isfile(sConfOverride): Conf.load_merge(sConfOverride) # Add the global prepend and primary host to rethinkdb Record_Base.dbPrepend(Conf.get(("rethinkdb", "prepend"), '')) Record_ReDB.addHost('primary', Conf.get(("rethinkdb", "hosts", "primary"))) # Register all services Services.register( {k:None for k in Conf.get(('rest', 'services'))}, REST.Config(Conf.get("rest")), Conf.get(('services', 'salt')) ) # Try to import the version try: oVer = importlib.import_module('upgrades.%s' % sVer) except ImportError as e: print('The given version "%s" is invalid.' % sVer) print(e) sys.exit(1) # Load or create the version file oLogFile = UpgradeLog('upgrades/%s/_upgrade.log' % sVer) # Run the version files
from RestOC import Conf, REST, Services, Sesh # App imports from apps.webpoll import WebPoll # Load the config Conf.load('../config.json') sConfOverride = '../config.%s.json' % platform.node() if os.path.isfile(sConfOverride): Conf.load_merge(sConfOverride) # Init the Sesh module Sesh.init(Conf.get(("redis", "session"))) # Create the REST config instance oRestConf = REST.Config(Conf.get("rest")) # Set verbose mode if requested if 'AXE_VERBOSE' in os.environ and os.environ['AXE_VERBOSE'] == '1': Services.verbose() # Register all necessary services Services.register({ "auth": None, "webpoll": WebPoll() }, oRestConf, Conf.get(('services', 'salt'))) # Create the HTTP server and map requests to service REST.Server( { "/clear": {