diff options
| author | William Wolf <throughnothing@gmail.com> | 2011-08-19 09:54:05 -0400 |
|---|---|---|
| committer | William Wolf <throughnothing@gmail.com> | 2011-08-19 09:54:05 -0400 |
| commit | 98c7aeddbec9279970fcb197c89315839f6d94cb (patch) | |
| tree | a220e4e4e95bacf32954231879d9633998911de0 /bin/nova-api | |
| parent | 254d45ac22c1f4f9cb6e6b02e7a416e5d94f401e (diff) | |
| parent | ba079e5ccfa6b5f9fdfa036842f3e5ba51df4b75 (diff) | |
merge with trunk
Diffstat (limited to 'bin/nova-api')
| -rwxr-xr-x | bin/nova-api | 42 |
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() |
