summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2013-02-18 20:50:45 -0500
committerRussell Bryant <rbryant@redhat.com>2013-02-20 08:58:58 -0500
commitc2066facd0d5df60fc4129ff9e707175fda3fad1 (patch)
treeb15306d1c4c06b48671729151eb6d7db5d758150 /bin
parent96a4518575ea550d8e997444bfc243b7a822ec11 (diff)
Sync rpc from oslo-incubator.
This includes the following changes: * use oslo.config directly * implementation of rpc-amqp-fast-reply-queue * simplifications to bin/nova-rpc-zmq-receiver * add new join_consumer_pool API call * a bug fix to ensure kombu messages get acked even when an exception occurs in the message callback Change-Id: I813ce0ee7d5442d7b5b0f9d477949adabc83174e
Diffstat (limited to 'bin')
-rwxr-xr-xbin/nova-rpc-zmq-receiver32
1 files changed, 3 insertions, 29 deletions
diff --git a/bin/nova-rpc-zmq-receiver b/bin/nova-rpc-zmq-receiver
index 13cd05df6..90b652b91 100755
--- a/bin/nova-rpc-zmq-receiver
+++ b/bin/nova-rpc-zmq-receiver
@@ -22,9 +22,6 @@ import contextlib
import os
import sys
-from oslo.config import cfg
-import zmq
-
# 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...
POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
@@ -33,45 +30,22 @@ 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)
-from nova import config
-from nova import exception
+from oslo.config import cfg
+
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
from nova.openstack.common.rpc import impl_zmq
-from nova import utils
CONF = cfg.CONF
CONF.register_opts(rpc.rpc_opts)
CONF.register_opts(impl_zmq.zmq_opts)
+CONF(sys.argv[1:], project='nova')
def main():
- config.parse_args(sys.argv)
logging.setup("nova")
- utils.monkey_patch()
-
- ipc_dir = CONF.rpc_zmq_ipc_dir
-
- # Create the necessary directories/files for this service.
- if not os.path.isdir(ipc_dir):
- try:
- utils.execute('mkdir', '-p', ipc_dir, run_as_root=True)
- utils.execute('chown', "%s:%s" % (os.getuid(), os.getgid()),
- ipc_dir, run_as_root=True)
- utils.execute('chmod', '750', ipc_dir, run_as_root=True)
- except exception.ProcessExecutionError:
- logging.error(_("Could not create IPC socket directory."))
- return
with contextlib.closing(impl_zmq.ZmqProxy(CONF)) as reactor:
- consume_in = "tcp://%s:%s" % \
- (CONF.rpc_zmq_bind_address,
- CONF.rpc_zmq_port)
- consumption_proxy = impl_zmq.InternalContext(None)
-
- reactor.register(consumption_proxy,
- consume_in, zmq.PULL, out_bind=True)
-
reactor.consume_in_thread()
reactor.wait()