diff options
| author | Ryu Ishimoto <ryu@midokura.jp> | 2011-08-19 10:22:24 +0900 |
|---|---|---|
| committer | Ryu Ishimoto <ryu@midokura.jp> | 2011-08-19 10:22:24 +0900 |
| commit | 93bf9b46a8ca28063752bc9e6c14ed59e91c50a9 (patch) | |
| tree | af112b10f3e1a352afea8eea25cdcd59d9ce87b9 /bin/nova-api | |
| parent | 54883a4ca07fe6b2f966a604f84e1127477d9a55 (diff) | |
| parent | 862dc7acaf86bcfaebfce423c8198ea18b5e07c4 (diff) | |
Merged 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() |
