summaryrefslogtreecommitdiffstats
path: root/bin/nova-api
diff options
context:
space:
mode:
authorTushar Patil <tushar.vitthal.patil@gmail.com>2011-08-19 10:08:46 -0700
committerTushar Patil <tushar.vitthal.patil@gmail.com>2011-08-19 10:08:46 -0700
commit10fdf234039d1c5e21037a17809186152f1d718d (patch)
tree6fe6088425c668b2b0ca4cf34810585092ccbe8f /bin/nova-api
parent69c26210dd821df0d2160e51b10f147db2a40249 (diff)
parentba079e5ccfa6b5f9fdfa036842f3e5ba51df4b75 (diff)
Merged from trunk
Diffstat (limited to 'bin/nova-api')
-rwxr-xr-xbin/nova-api42
1 files changed, 15 insertions, 27 deletions
diff --git a/bin/nova-api b/bin/nova-api
index fe8e83366..38e2624d8 100755
--- a/bin/nova-api
+++ b/bin/nova-api
@@ -19,12 +19,14 @@
"""Starter script for Nova API.
-Starts both the EC2 and OpenStack APIs in separate processes.
+Starts both the EC2 and OpenStack APIs in separate greenthreads.
"""
+import eventlet
+eventlet.monkey_patch()
+
import os
-import signal
import sys
@@ -33,32 +35,18 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
sys.path.insert(0, possible_topdir)
-import nova.service
-import nova.utils
from nova import flags
-
-
-FLAGS = flags.FLAGS
-
-
-def main():
- """Launch EC2 and OSAPI services."""
- nova.utils.Bootstrapper.bootstrap_binary(sys.argv)
-
- launcher = nova.service.Launcher()
-
- for api in FLAGS.enabled_apis:
- service = nova.service.WSGIService(api)
- launcher.launch_service(service)
-
- signal.signal(signal.SIGTERM, lambda *_: launcher.stop())
-
- try:
- launcher.wait()
- except KeyboardInterrupt:
- launcher.stop()
-
+from nova import log as logging
+from nova import service
+from nova import utils
if __name__ == '__main__':
- sys.exit(main())
+ utils.default_flagfile()
+ flags.FLAGS(sys.argv)
+ logging.setup()
+ servers = []
+ for api in flags.FLAGS.enabled_apis:
+ servers.append(service.WSGIService(api))
+ service.serve(*servers)
+ service.wait()