diff options
| author | Tim Simpson <tim.simpson@rackspace.com> | 2011-08-22 14:07:27 -0500 |
|---|---|---|
| committer | Tim Simpson <tim.simpson@rackspace.com> | 2011-08-22 14:07:27 -0500 |
| commit | 1b9cc046e9ae2bc5d0c1bd015d4e3304541ebd3c (patch) | |
| tree | 707030c6b553c2d7c35612e9193ff187412da36f /bin/nova-api | |
| parent | e36ebf31699546e48d27754ac1e26b3704399ab0 (diff) | |
| parent | 0af1508c38bcf027153dd91c0d862307e90a164e (diff) | |
| download | nova-1b9cc046e9ae2bc5d0c1bd015d4e3304541ebd3c.tar.gz nova-1b9cc046e9ae2bc5d0c1bd015d4e3304541ebd3c.tar.xz nova-1b9cc046e9ae2bc5d0c1bd015d4e3304541ebd3c.zip | |
Upstream merge
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() |
