make nova binaries use eventlet

This commit is contained in:
Andy Smith
2010-12-09 14:36:23 -08:00
parent 0e49f9368e
commit 4f780f9e7a
7 changed files with 33 additions and 27 deletions

View File

@@ -32,9 +32,11 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')): if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir) sys.path.insert(0, possible_topdir)
from nova import api
from nova import flags from nova import flags
from nova import utils from nova import utils
from nova import server from nova import server
from nova import wsgi
FLAGS = flags.FLAGS FLAGS = flags.FLAGS
flags.DEFINE_integer('osapi_port', 8774, 'OpenStack API port') flags.DEFINE_integer('osapi_port', 8774, 'OpenStack API port')
@@ -43,9 +45,8 @@ flags.DEFINE_integer('ec2api_port', 8773, 'EC2 API port')
flags.DEFINE_string('ec2api_host', '0.0.0.0', 'EC2 API host') flags.DEFINE_string('ec2api_host', '0.0.0.0', 'EC2 API host')
def main(_args): def main():
from nova import api FLAGS(sys.argv)
from nova import wsgi
server = wsgi.Server() server = wsgi.Server()
server.start(api.API('os'), FLAGS.osapi_port, host=FLAGS.osapi_host) server.start(api.API('os'), FLAGS.osapi_port, host=FLAGS.osapi_host)
server.start(api.API('ec2'), FLAGS.ec2api_port, host=FLAGS.ec2api_host) server.start(api.API('ec2'), FLAGS.ec2api_port, host=FLAGS.ec2api_host)
@@ -53,5 +54,4 @@ def main(_args):
if __name__ == '__main__': if __name__ == '__main__':
utils.default_flagfile() main()
server.serve('nova-api', main)

View File

@@ -27,8 +27,6 @@ eventlet.monkey_patch()
import os import os
import sys import sys
from eventlet import greenthread
# If ../nova/__init__.py exists, add ../ to Python search path, so that # If ../nova/__init__.py exists, add ../ to Python search path, so that
# it will override what happens to be installed in /usr/(local/)lib/python... # it will override what happens to be installed in /usr/(local/)lib/python...
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
@@ -46,6 +44,12 @@ from nova import wsgi
FLAGS = flags.FLAGS FLAGS = flags.FLAGS
flags.DEFINE_integer('api_port', 8773, 'API port') flags.DEFINE_integer('api_port', 8773, 'API port')
FLAGS = flags.FLAGS
flags.DEFINE_integer('osapi_port', 8774, 'OpenStack API port')
flags.DEFINE_string('osapi_host', '0.0.0.0', 'OpenStack API host')
flags.DEFINE_integer('ec2api_port', 8773, 'EC2 API port')
flags.DEFINE_string('ec2api_host', '0.0.0.0', 'EC2 API host')
if __name__ == '__main__': if __name__ == '__main__':
FLAGS(sys.argv) FLAGS(sys.argv)
@@ -57,5 +61,9 @@ if __name__ == '__main__':
#objectstore = service_eventlet.Service.create(binary='nova-objectstore') #objectstore = service_eventlet.Service.create(binary='nova-objectstore')
service_eventlet.serve(compute, network, volume, scheduler) service_eventlet.serve(compute, network, volume, scheduler)
wsgi.run_server(api.API(), FLAGS.api_port)
server = wsgi.Server()
server.start(api.API('os'), FLAGS.osapi_port, host=FLAGS.osapi_host)
server.start(api.API('ec2'), FLAGS.ec2api_port, host=FLAGS.ec2api_host)
server.wait()

View File

@@ -39,3 +39,4 @@ from nova import service_eventlet
if __name__ == '__main__': if __name__ == '__main__':
service_eventlet.serve() service_eventlet.serve()
service_eventlet.wait()

View File

@@ -39,3 +39,4 @@ from nova import service_eventlet
if __name__ == '__main__': if __name__ == '__main__':
service_eventlet.serve() service_eventlet.serve()
service_eventlet.wait()

View File

@@ -21,6 +21,9 @@
Twistd daemon for the nova scheduler nodes. Twistd daemon for the nova scheduler nodes.
""" """
import eventlet
eventlet.monkey_patch()
import os import os
import sys import sys
@@ -32,14 +35,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')): if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir) sys.path.insert(0, possible_topdir)
from nova import service from nova import service_eventlet
from nova import twistd
from nova import utils
if __name__ == '__main__': if __name__ == '__main__':
utils.default_flagfile() service_eventlet.serve()
twistd.serve(__file__) service_eventlet.wait()
if __name__ == '__builtin__':
application = service.Service.create()

View File

@@ -21,6 +21,9 @@
Twistd daemon for the nova volume nodes. Twistd daemon for the nova volume nodes.
""" """
import eventlet
eventlet.monkey_patch()
import os import os
import sys import sys
@@ -32,14 +35,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')): if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir) sys.path.insert(0, possible_topdir)
from nova import service from nova import service_eventlet
from nova import twistd
from nova import utils
if __name__ == '__main__': if __name__ == '__main__':
utils.default_flagfile() service_eventlet.serve()
twistd.serve(__file__) service_eventlet.wait()
if __name__ == '__builtin__':
application = service.Service.create() # pylint: disable-msg=C0103

View File

@@ -285,4 +285,6 @@ def serve(*services):
#while True: #while True:
# greenthread.sleep(5) # greenthread.sleep(5)
def wait():
while True:
greenthread.sleep(5)