diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-06-28 20:24:25 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-06-28 20:24:25 +0000 |
| commit | 96d5c1ef8ce3c9525acbf3a00fc609f65c1e7d4c (patch) | |
| tree | 3e8cda27d9bff17054a90bc75529a891e1b7f84d /bin | |
| parent | 0dc32690fe158e4cb11c2c9bcc65acaf73b94a7a (diff) | |
| parent | 46c1b6eaee4ca00c256c5c403c6d6bfeaf3b63f8 (diff) | |
Merge "Add multi-process support for API services"
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/nova-all | 15 | ||||
| -rwxr-xr-x | bin/nova-api | 10 | ||||
| -rwxr-xr-x | bin/nova-api-ec2 | 4 | ||||
| -rwxr-xr-x | bin/nova-api-metadata | 4 | ||||
| -rwxr-xr-x | bin/nova-api-os-compute | 4 | ||||
| -rwxr-xr-x | bin/nova-api-os-volume | 4 |
6 files changed, 21 insertions, 20 deletions
diff --git a/bin/nova-all b/bin/nova-all index 5c0644b8c..6aee87805 100755 --- a/bin/nova-all +++ b/bin/nova-all @@ -28,7 +28,7 @@ continue attempting to launch the rest of the services. """ import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch(os=False) import os import sys @@ -54,25 +54,26 @@ if __name__ == '__main__': flags.parse_args(sys.argv) logging.setup() utils.monkey_patch() - servers = [] + launcher = service.ProcessLauncher() + # nova-api for api in flags.FLAGS.enabled_apis: try: - servers.append(service.WSGIService(api)) + server = service.WSGIService(api) + launcher.launch_server(server, workers=server.workers or 1) except (Exception, SystemExit): LOG.exception(_('Failed to load %s') % '%s-api' % api) for mod in [s3server, xvp_proxy]: try: - servers.append(mod.get_wsgi_server()) + launcher.launch_server(mod.get_wsgi_server()) except (Exception, SystemExit): LOG.exception(_('Failed to load %s') % mod.__name__) for binary in ['nova-compute', 'nova-volume', 'nova-network', 'nova-scheduler', 'nova-cert']: try: - servers.append(service.Service.create(binary=binary)) + launcher.launch_server(service.Service.create(binary=binary)) except (Exception, SystemExit): LOG.exception(_('Failed to load %s'), binary) - service.serve(*servers) - service.wait() + launcher.wait() diff --git a/bin/nova-api b/bin/nova-api index e6779df4f..b778854f0 100755 --- a/bin/nova-api +++ b/bin/nova-api @@ -24,7 +24,7 @@ Starts both the EC2 and OpenStack APIs in separate greenthreads. """ import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch(os=False) import os import sys @@ -45,8 +45,8 @@ if __name__ == '__main__': flags.parse_args(sys.argv) logging.setup() utils.monkey_patch() - servers = [] + launcher = service.ProcessLauncher() for api in flags.FLAGS.enabled_apis: - servers.append(service.WSGIService(api)) - service.serve(*servers) - service.wait() + server = service.WSGIService(api) + launcher.launch_server(server, workers=server.workers or 1) + launcher.wait() diff --git a/bin/nova-api-ec2 b/bin/nova-api-ec2 index b53c9158a..f76f3dd7e 100755 --- a/bin/nova-api-ec2 +++ b/bin/nova-api-ec2 @@ -20,7 +20,7 @@ """Starter script for Nova EC2 API.""" import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch(os=False) import os import sys @@ -42,5 +42,5 @@ if __name__ == '__main__': logging.setup() utils.monkey_patch() server = service.WSGIService('ec2') - service.serve(server) + service.serve(server, workers=server.workers) service.wait() diff --git a/bin/nova-api-metadata b/bin/nova-api-metadata index 2f2ef9454..2aad93453 100755 --- a/bin/nova-api-metadata +++ b/bin/nova-api-metadata @@ -20,7 +20,7 @@ """Starter script for Nova Metadata API.""" import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch(os=False) import os import sys @@ -42,5 +42,5 @@ if __name__ == '__main__': logging.setup() utils.monkey_patch() server = service.WSGIService('metadata') - service.serve(server) + service.serve(server, workers=server.workers) service.wait() diff --git a/bin/nova-api-os-compute b/bin/nova-api-os-compute index 75c921943..c83855254 100755 --- a/bin/nova-api-os-compute +++ b/bin/nova-api-os-compute @@ -20,7 +20,7 @@ """Starter script for Nova OS API.""" import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch(os=False) import os import sys @@ -42,5 +42,5 @@ if __name__ == '__main__': logging.setup() utils.monkey_patch() server = service.WSGIService('osapi_compute') - service.serve(server) + service.serve(server, workers=server.workers) service.wait() diff --git a/bin/nova-api-os-volume b/bin/nova-api-os-volume index b93fd51ae..f08c69384 100755 --- a/bin/nova-api-os-volume +++ b/bin/nova-api-os-volume @@ -20,7 +20,7 @@ """Starter script for Nova OS API.""" import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch(os=False) import os import sys @@ -42,5 +42,5 @@ if __name__ == '__main__': logging.setup() utils.monkey_patch() server = service.WSGIService('osapi_volume') - service.serve(server) + service.serve(server, workers=server.workers) service.wait() |
