blueprint <multi-process-api-service>
Add multiprocess support for API serivces (EC2/OSAPI_Compute/OSAPI_Volume/Metadata).
2012-06-1 v7:
* Add unittest to cover worker recovery, service termination functionality
in wsgi.py, fix python 2.6 compatibility issue.
* Modify generate_uid() to introduce per-process seeds in utils.py to avoid
collisions.
* Add worker session to nova.conf.sample.
2012-05-21 v6:
* Fix 'test_wsgi' unittest error.
2012-04-28 v5:
* Add SIGINT handler and fix child-parent race condition when Ctrl+C is
pressed.
2012-03-31 v4:
* Fixed typo, removed debug code.
2012-03-30 v3:
* Fixed localization/pep8 error in unittest, add metadata test.
* nova/wsgi.py:Server: use the greenthread pool created for each process.
* nova/service.py: remove debug code
2012-03-27 v2:
* Fixed unittest error.
* nova/wsgi.py:Server: Use self._logger to do logging in multiprocess mode.
* nova/wsgi.py:Server: Move self._pool creation into proper place.
* code style fix.
2012-03-25 v1:
* Modification to nova/service.py and nova/wsgi.py in order to support
multiprocess (a.k.a. workers) for various API services. If multiprocess
mode is enabled, (i.e. flags 'APINAME_workers' set to positive numbers),
corresponding API service will run in target number of process(es). There
is also a master_worker process spawned for managing all workers (handling
signal/termination).
* Add unittest for multiprocess API service, also alter testing/runner.py
to adopt new unittest.
Change-Id: Ia045e595543ddfd192894b2a05801cc4b7ca90cb
This commit is contained in:
1
Authors
1
Authors
@@ -213,6 +213,7 @@ Yun Mao <yunmao@gmail.com>
|
||||
Yun Shen <Yun.Shen@hp.com>
|
||||
Yuriy Taraday <yorik.sar@gmail.com>
|
||||
Zed Shaw <zedshaw@zedshaw.com>
|
||||
Zhiteng Huang <zhiteng.huang@intel.com>
|
||||
Zhixue Wu <Zhixue.Wu@citrix.com>
|
||||
Zhongyue Luo <lzyeval@gmail.com>
|
||||
Ziad Sawalha <github@highbridgellc.com>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"""Starter script for Nova EC2 API."""
|
||||
|
||||
import eventlet
|
||||
eventlet.monkey_patch()
|
||||
eventlet.monkey_patch(os=False)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"""Starter script for Nova Metadata API."""
|
||||
|
||||
import eventlet
|
||||
eventlet.monkey_patch()
|
||||
eventlet.monkey_patch(os=False)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"""Starter script for Nova OS API."""
|
||||
|
||||
import eventlet
|
||||
eventlet.monkey_patch()
|
||||
eventlet.monkey_patch(os=False)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"""Starter script for Nova OS API."""
|
||||
|
||||
import eventlet
|
||||
eventlet.monkey_patch()
|
||||
eventlet.monkey_patch(os=False)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -366,5 +366,5 @@ def run():
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
eventlet.monkey_patch()
|
||||
eventlet.monkey_patch(os=False)
|
||||
run()
|
||||
|
||||
Reference in New Issue
Block a user