From 1d6334d3c25a815797fa040aa2ae3451ea3075d7 Mon Sep 17 00:00:00 2001 From: termie Date: Mon, 9 Jan 2012 15:37:31 -0800 Subject: some more config in bin/keystone --- bin/keystone | 21 ++++++++++++++------- keystone/config.py | 5 ++--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/bin/keystone b/bin/keystone index 35514b6f..881e5175 100755 --- a/bin/keystone +++ b/bin/keystone @@ -25,7 +25,7 @@ from keystone import wsgi CONF = config.CONF -def create_server(name, port): +def create_server(conf, name, port): app = deploy.loadapp('config:%s' % conf, name=name) return wsgi.Server(app, port) @@ -42,18 +42,25 @@ def serve(*servers): if __name__ == '__main__': - default_conf = os.path.join(possible_topdir, + dev_conf = os.path.join(possible_topdir, 'etc', 'keystone.conf') - CONF(config_files=[default_conf]) + config_files = None + if os.path.exists(dev_conf): + config_files = [dev_conf] + + CONF(config_files=config_files) + + # TODO(termie): configure this based on config logging.getLogger().setLevel(logging.DEBUG) - conf = len(sys.argv) > 1 and sys.argv[1] or default_conf - options = deploy.appconfig('config:%s' % conf) + options = deploy.appconfig('config:%s' % CONF.config_file[0]) servers = [] - servers.append(create_server('admin', + servers.append(create_server(CONF.config_file[0], + 'admin', int(options['admin_port']))) - servers.append(create_server('main', + servers.append(create_server(CONF.config_file[0], + 'main', int(options['public_port']))) serve(*servers) diff --git a/keystone/config.py b/keystone/config.py index 7ce9f3ca..89ad57a9 100644 --- a/keystone/config.py +++ b/keystone/config.py @@ -5,9 +5,8 @@ from keystone import cfg class Config(cfg.ConfigOpts): def __call__(self, config_files=None, *args, **kw): - if config_files is None: - config_files = [] - self.config_file = config_files + if config_files is not None: + self.config_file = config_files super(Config, self).__call__(*args, **kw) def __getitem__(self, key, default=None): -- cgit