summaryrefslogtreecommitdiffstats
path: root/bin/nova-api
diff options
context:
space:
mode:
authorTodd Willey <todd@ansolabs.com>2011-04-04 21:12:57 -0400
committerTodd Willey <todd@ansolabs.com>2011-04-04 21:12:57 -0400
commitda346dac037a46582d569180915010f4c4e2cd50 (patch)
tree94cbeab7422f22b443868cb21d02406deb35826b /bin/nova-api
parent2ee9070c3824d296bada49fc6637c09f8e18a5eb (diff)
parent08417c48c223ad1b698ab1d00686a967b6a2dc0a (diff)
downloadnova-da346dac037a46582d569180915010f4c4e2cd50.tar.gz
nova-da346dac037a46582d569180915010f4c4e2cd50.tar.xz
nova-da346dac037a46582d569180915010f4c4e2cd50.zip
Merge trunk.
Diffstat (limited to 'bin/nova-api')
-rwxr-xr-xbin/nova-api54
1 files changed, 13 insertions, 41 deletions
diff --git a/bin/nova-api b/bin/nova-api
index 11176a021..a1088c23d 100755
--- a/bin/nova-api
+++ b/bin/nova-api
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-# pylint: disable-msg=C0103
+# pylint: disable=C0103
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
@@ -36,54 +36,26 @@ gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
+from nova import service
+from nova import utils
from nova import version
from nova import wsgi
-logging.basicConfig()
+
LOG = logging.getLogger('nova.api')
-LOG.setLevel(logging.DEBUG)
FLAGS = flags.FLAGS
-API_ENDPOINTS = ['ec2', 'osapi']
-
-
-def run_app(paste_config_file):
- LOG.debug(_("Using paste.deploy config at: %s"), paste_config_file)
- apps = []
- for api in API_ENDPOINTS:
- config = wsgi.load_paste_configuration(paste_config_file, api)
- if config is None:
- LOG.debug(_("No paste configuration for app: %s"), api)
- continue
- LOG.debug(_("App Config: %(api)s\n%(config)r") % locals())
- wsgi.paste_config_to_flags(config, {
- "verbose": FLAGS.verbose,
- "%s_host" % api: config.get('host', '0.0.0.0'),
- "%s_port" % api: getattr(FLAGS, "%s_port" % api)})
- LOG.info(_("Running %s API"), api)
- app = wsgi.load_paste_app(paste_config_file, api)
- apps.append((app, getattr(FLAGS, "%s_port" % api),
- getattr(FLAGS, "%s_host" % api)))
- if len(apps) == 0:
- LOG.error(_("No known API applications configured in %s."),
- paste_config_file)
- return
-
- # NOTE(todd): redo logging config, verbose could be set in paste config
- logging.basicConfig()
- server = wsgi.Server()
- for app in apps:
- server.start(*app)
- server.wait()
-
-
if __name__ == '__main__':
+ utils.default_flagfile()
FLAGS(sys.argv)
+ logging.setup()
LOG.audit(_("Starting nova-api node (version %s)"),
version.version_string_with_vcs())
- conf = wsgi.paste_config_file('nova-api.conf')
- if conf:
- run_app(conf)
- else:
- LOG.error(_("No paste configuration found for: %s"), 'nova-api.conf')
+ LOG.debug(_("Full set of FLAGS:"))
+ for flag in FLAGS:
+ flag_get = FLAGS.get(flag, None)
+ LOG.debug("%(flag)s : %(flag_get)s" % locals())
+
+ service = service.serve_wsgi(service.ApiService)
+ service.wait()