summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorRyu Ishimoto <ryu@midokura.jp>2011-08-19 10:22:24 +0900
committerRyu Ishimoto <ryu@midokura.jp>2011-08-19 10:22:24 +0900
commit93bf9b46a8ca28063752bc9e6c14ed59e91c50a9 (patch)
treeaf112b10f3e1a352afea8eea25cdcd59d9ce87b9 /bin
parent54883a4ca07fe6b2f966a604f84e1127477d9a55 (diff)
parent862dc7acaf86bcfaebfce423c8198ea18b5e07c4 (diff)
downloadnova-93bf9b46a8ca28063752bc9e6c14ed59e91c50a9.tar.gz
nova-93bf9b46a8ca28063752bc9e6c14ed59e91c50a9.tar.xz
nova-93bf9b46a8ca28063752bc9e6c14ed59e91c50a9.zip
Merged trunk
Diffstat (limited to 'bin')
-rwxr-xr-xbin/nova-ajax-console-proxy7
-rwxr-xr-xbin/nova-api42
-rwxr-xr-xbin/nova-api-ec246
-rwxr-xr-xbin/nova-api-os46
-rwxr-xr-xbin/nova-compute5
-rwxr-xr-xbin/nova-console5
-rwxr-xr-xbin/nova-direct-api11
-rwxr-xr-xbin/nova-network5
-rwxr-xr-xbin/nova-objectstore14
-rwxr-xr-xbin/nova-scheduler5
-rwxr-xr-xbin/nova-vncproxy15
-rwxr-xr-xbin/nova-volume5
12 files changed, 140 insertions, 66 deletions
diff --git a/bin/nova-ajax-console-proxy b/bin/nova-ajax-console-proxy
index 2329581a2..0a789b4b9 100755
--- a/bin/nova-ajax-console-proxy
+++ b/bin/nova-ajax-console-proxy
@@ -24,7 +24,6 @@ from eventlet import greenthread
from eventlet.green import urllib2
import exceptions
-import gettext
import os
import sys
import time
@@ -38,11 +37,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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
from nova import rpc
+from nova import service
from nova import utils
from nova import wsgi
@@ -141,5 +140,5 @@ if __name__ == '__main__':
acp = AjaxConsoleProxy()
acp.register_listeners()
server = wsgi.Server("AJAX Console Proxy", acp, port=acp_port)
- server.start()
- server.wait()
+ service.serve(server)
+ service.wait()
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()
diff --git a/bin/nova-api-ec2 b/bin/nova-api-ec2
new file mode 100755
index 000000000..df50f713d
--- /dev/null
+++ b/bin/nova-api-ec2
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2010 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Starter script for Nova EC2 API."""
+
+import eventlet
+eventlet.monkey_patch()
+
+import os
+import sys
+
+
+possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
+ sys.argv[0]), os.pardir, os.pardir))
+if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
+ sys.path.insert(0, possible_topdir)
+
+
+from nova import flags
+from nova import log as logging
+from nova import service
+from nova import utils
+
+if __name__ == '__main__':
+ utils.default_flagfile()
+ flags.FLAGS(sys.argv)
+ logging.setup()
+ server = service.WSGIService('ec2')
+ service.serve(server)
+ service.wait()
diff --git a/bin/nova-api-os b/bin/nova-api-os
new file mode 100755
index 000000000..374e850ea
--- /dev/null
+++ b/bin/nova-api-os
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2010 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Starter script for Nova OS API."""
+
+import eventlet
+eventlet.monkey_patch()
+
+import os
+import sys
+
+
+possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
+ sys.argv[0]), os.pardir, os.pardir))
+if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
+ sys.path.insert(0, possible_topdir)
+
+
+from nova import flags
+from nova import log as logging
+from nova import service
+from nova import utils
+
+if __name__ == '__main__':
+ utils.default_flagfile()
+ flags.FLAGS(sys.argv)
+ logging.setup()
+ server = service.WSGIService('osapi')
+ service.serve(server)
+ service.wait()
diff --git a/bin/nova-compute b/bin/nova-compute
index cd7c78def..5239fae72 100755
--- a/bin/nova-compute
+++ b/bin/nova-compute
@@ -22,7 +22,6 @@
import eventlet
eventlet.monkey_patch()
-import gettext
import os
import sys
@@ -34,7 +33,6 @@ 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')):
sys.path.insert(0, POSSIBLE_TOPDIR)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
@@ -45,5 +43,6 @@ if __name__ == '__main__':
utils.default_flagfile()
flags.FLAGS(sys.argv)
logging.setup()
- service.serve()
+ server = service.Service.create(binary='nova-compute')
+ service.serve(server)
service.wait()
diff --git a/bin/nova-console b/bin/nova-console
index 40608b995..22f6ef171 100755
--- a/bin/nova-console
+++ b/bin/nova-console
@@ -21,7 +21,6 @@
import eventlet
eventlet.monkey_patch()
-import gettext
import os
import sys
@@ -33,7 +32,6 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
@@ -44,5 +42,6 @@ if __name__ == '__main__':
utils.default_flagfile()
flags.FLAGS(sys.argv)
logging.setup()
- service.serve()
+ server = service.Service.create(binary='nova-console')
+ service.serve(server)
service.wait()
diff --git a/bin/nova-direct-api b/bin/nova-direct-api
index c6cf9b2ff..106e89ba9 100755
--- a/bin/nova-direct-api
+++ b/bin/nova-direct-api
@@ -20,7 +20,9 @@
"""Starter script for Nova Direct API."""
-import gettext
+import eventlet
+eventlet.monkey_patch()
+
import os
import sys
@@ -32,12 +34,12 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import compute
from nova import flags
from nova import log as logging
from nova import network
+from nova import service
from nova import utils
from nova import volume
from nova import wsgi
@@ -97,5 +99,6 @@ if __name__ == '__main__':
with_auth,
host=FLAGS.direct_host,
port=FLAGS.direct_port)
- server.start()
- server.wait()
+
+ service.serve(server)
+ service.wait()
diff --git a/bin/nova-network b/bin/nova-network
index 101761ef7..57759d30a 100755
--- a/bin/nova-network
+++ b/bin/nova-network
@@ -22,7 +22,6 @@
import eventlet
eventlet.monkey_patch()
-import gettext
import os
import sys
@@ -34,7 +33,6 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
@@ -45,5 +43,6 @@ if __name__ == '__main__':
utils.default_flagfile()
flags.FLAGS(sys.argv)
logging.setup()
- service.serve()
+ server = service.Service.create(binary='nova-network')
+ service.serve(server)
service.wait()
diff --git a/bin/nova-objectstore b/bin/nova-objectstore
index 4d5aec445..c7a76e120 100755
--- a/bin/nova-objectstore
+++ b/bin/nova-objectstore
@@ -17,11 +17,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""
- Daemon for nova objectstore. Supports S3 API.
-"""
+"""Daemon for nova objectstore. Supports S3 API."""
+
+import eventlet
+eventlet.monkey_patch()
-import gettext
import os
import sys
@@ -33,10 +33,10 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
+from nova import service
from nova import utils
from nova import wsgi
from nova.objectstore import s3server
@@ -54,5 +54,5 @@ if __name__ == '__main__':
router,
port=FLAGS.s3_port,
host=FLAGS.s3_host)
- server.start()
- server.wait()
+ service.serve(server)
+ service.wait()
diff --git a/bin/nova-scheduler b/bin/nova-scheduler
index 0c205a80f..2e168cbc6 100755
--- a/bin/nova-scheduler
+++ b/bin/nova-scheduler
@@ -22,7 +22,6 @@
import eventlet
eventlet.monkey_patch()
-import gettext
import os
import sys
@@ -34,7 +33,6 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
@@ -45,5 +43,6 @@ if __name__ == '__main__':
utils.default_flagfile()
flags.FLAGS(sys.argv)
logging.setup()
- service.serve()
+ server = service.Service.create(binary='nova-scheduler')
+ service.serve(server)
service.wait()
diff --git a/bin/nova-vncproxy b/bin/nova-vncproxy
index bdbb30a7f..dc08e2433 100755
--- a/bin/nova-vncproxy
+++ b/bin/nova-vncproxy
@@ -19,7 +19,8 @@
"""VNC Console Proxy Server."""
import eventlet
-import gettext
+eventlet.monkey_patch()
+
import os
import sys
@@ -29,7 +30,6 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
@@ -41,7 +41,7 @@ from nova.vnc import auth
from nova.vnc import proxy
-LOG = logging.getLogger('nova.vnc-proxy')
+LOG = logging.getLogger('nova.vncproxy')
FLAGS = flags.FLAGS
@@ -81,7 +81,7 @@ if __name__ == "__main__":
FLAGS(sys.argv)
logging.setup()
- LOG.audit(_("Starting nova-vnc-proxy node (version %s)"),
+ LOG.audit(_("Starting nova-vncproxy node (version %s)"),
version.version_string_with_vcs())
if not (os.path.exists(FLAGS.vncproxy_wwwroot) and
@@ -107,13 +107,10 @@ if __name__ == "__main__":
else:
with_auth = auth.VNCNovaAuthMiddleware(with_logging)
- service.serve()
-
server = wsgi.Server("VNC Proxy",
with_auth,
host=FLAGS.vncproxy_host,
port=FLAGS.vncproxy_port)
- server.start()
server.start_tcp(handle_flash_socket_policy, 843, host=FLAGS.vncproxy_host)
-
- server.wait()
+ service.serve(server)
+ service.wait()
diff --git a/bin/nova-volume b/bin/nova-volume
index 8dcdbc500..5405aebbb 100755
--- a/bin/nova-volume
+++ b/bin/nova-volume
@@ -22,7 +22,6 @@
import eventlet
eventlet.monkey_patch()
-import gettext
import os
import sys
@@ -34,7 +33,6 @@ 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')):
sys.path.insert(0, possible_topdir)
-gettext.install('nova', unicode=1)
from nova import flags
from nova import log as logging
@@ -45,5 +43,6 @@ if __name__ == '__main__':
utils.default_flagfile()
flags.FLAGS(sys.argv)
logging.setup()
- service.serve()
+ server = service.Service.create(binary='nova-volume')
+ service.serve(server)
service.wait()