From 800bf387b370e00436953e8a0076c5127e616b0f Mon Sep 17 00:00:00 2001 From: Eric Windisch Date: Fri, 24 May 2013 11:21:11 -0400 Subject: [PATCH] ZeroMQ driver to default to redis matchmaker Switching to the redis matchmaker. The localhost matchmaker does not presently work. Also, the localhost matchmaker could not work for multi-host setups. Change-Id: I81a26b9af78328e360a18b87371c619e194365d2 --- README.md | 1 + lib/rpc_backend | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1987db850e..8573638c41 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ You can then run many compute nodes, each of which should have a `stackrc` which MYSQL_HOST=$SERVICE_HOST RABBIT_HOST=$SERVICE_HOST Q_HOST=$SERVICE_HOST + MATCHMAKER_REDIS_HOST=$SERVICE_HOST # Cells diff --git a/lib/rpc_backend b/lib/rpc_backend index fc439ecfb3..e64d098d3d 100644 --- a/lib/rpc_backend +++ b/lib/rpc_backend @@ -78,11 +78,11 @@ function cleanup_rpc_backend { fi elif is_service_enabled zeromq; then if is_fedora; then - uninstall_package zeromq python-zmq + uninstall_package zeromq python-zmq redis elif is_ubuntu; then - uninstall_package libzmq1 python-zmq + uninstall_package libzmq1 python-zmq redis-server elif is_suse; then - uninstall_package libzmq1 python-pyzmq + uninstall_package libzmq1 python-pyzmq redis else exit_distro_not_supported "zeromq installation" fi @@ -115,12 +115,15 @@ function install_rpc_backend() { exit_distro_not_supported "qpid installation" fi elif is_service_enabled zeromq; then + # NOTE(ewindisch): Redis is not strictly necessary + # but there is a matchmaker driver that works + # really well & out of the box for multi-node. if is_fedora; then - install_package zeromq python-zmq + install_package zeromq python-zmq redis elif is_ubuntu; then - install_package libzmq1 python-zmq + install_package libzmq1 python-zmq redis-server elif is_suse; then - install_package libzmq1 python-pyzmq + install_package libzmq1 python-pyzmq redis else exit_distro_not_supported "zeromq installation" fi @@ -158,6 +161,11 @@ function iniset_rpc_backend() { local section=$3 if is_service_enabled zeromq; then iniset $file $section rpc_backend ${package}.openstack.common.rpc.impl_zmq + iniset $file $section rpc_zmq_matchmaker \ + ${package}.openstack.common.rpc.matchmaker_redis.MatchMakerRedis + # Set MATCHMAKER_REDIS_HOST if running multi-node. + MATCHMAKER_REDIS_HOST=${MATCHMAKER_REDIS_HOST:-127.0.0.1} + iniset $file matchmaker_redis host $MATCHMAKER_REDIS_HOST elif is_service_enabled qpid; then iniset $file $section rpc_backend ${package}.openstack.common.rpc.impl_qpid if is_ubuntu; then