Merge "specify session name on perform rejoin stack"
diff --git a/README.md b/README.md
index 1987db8..8573638 100644
--- a/README.md
+++ b/README.md
@@ -153,6 +153,7 @@
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
Q_HOST=$SERVICE_HOST
+ MATCHMAKER_REDIS_HOST=$SERVICE_HOST
# Cells
diff --git a/files/rpms/horizon b/files/rpms/horizon
index d50482e..151e7e2 100644
--- a/files/rpms/horizon
+++ b/files/rpms/horizon
@@ -16,8 +16,7 @@
python-migrate
python-mox
python-netaddr
-# RHEL6's python-nose is incompatible with Tempest
-python-nose #dist:f16,f17,f18
+python-nose
python-paste #dist:f16,f17,f18
python-paste-deploy #dist:f16,f17,f18
python-pep8
diff --git a/files/rpms/quantum b/files/rpms/quantum
index 32c6f62..8827d5a 100644
--- a/files/rpms/quantum
+++ b/files/rpms/quantum
@@ -4,6 +4,7 @@
iptables
iputils
mysql-server # NOPRIME
+openvswitch # NOPRIME
python-boto
python-eventlet
python-greenlet
diff --git a/files/rpms/swift b/files/rpms/swift
index c626d8e..1b36e34 100644
--- a/files/rpms/swift
+++ b/files/rpms/swift
@@ -7,8 +7,7 @@
python-eventlet
python-greenlet
python-netifaces
-# RHEL6's python-nose is incompatible with Tempest
-python-nose # dist:f16,f17,f18
+python-nose
python-paste-deploy # dist:f16,f17,f18
python-setuptools # dist:f16,f17,f18
python-simplejson
diff --git a/lib/heat b/lib/heat
index 0c95ebb..4d2f84e 100644
--- a/lib/heat
+++ b/lib/heat
@@ -2,7 +2,7 @@
# Install and start **Heat** service
# To enable, add the following to localrc
-# ENABLED_SERVICES+=,heat,h-api-cfn,h-api-cw,h-eng
+# ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
# Dependencies:
# - functions
@@ -193,8 +193,8 @@
# stop_heat() - Stop running processes
function stop_heat() {
- # Kill the cinder screen windows
- for serv in h-eng h-api-cfn h-api-cw; do
+ # Kill the screen windows
+ for serv in h-eng h-api h-api-cfn h-api-cw; do
screen -S $SCREEN_NAME -p $serv -X kill
done
}
diff --git a/lib/rpc_backend b/lib/rpc_backend
index fc439ec..4b04053 100644
--- a/lib/rpc_backend
+++ b/lib/rpc_backend
@@ -78,14 +78,18 @@
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
+
+ # Necessary directory for socket location.
+ sudo mkdir -p /var/run/openstack
+ sudo chown $STACK_USER /var/run/openstack
fi
}
@@ -115,12 +119,15 @@
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 +165,11 @@
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
diff --git a/stack.sh b/stack.sh
index d7367fb..b3e110d 100755
--- a/stack.sh
+++ b/stack.sh
@@ -32,6 +32,12 @@
# and ``DISTRO``
GetDistro
+
+# Configure non-default repos
+# ===========================
+
+# Repo configuration needs to occur before package installation.
+
# Some dependencies are not available in Debian Wheezy official
# repositories. However, it's possible to run OpenStack from gplhost
# repository.
@@ -42,6 +48,17 @@
apt_get install --force-yes gplhost-archive-keyring
fi
+# Installing Open vSwitch on RHEL6 requires enabling the RDO repo.
+RHEL6_RDO_REPO_RPM=${RHEL6_RDO_REPO_RPM:-"http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly-3.noarch.rpm"}
+RHEL6_RDO_REPO_ID=${RHEL6_RDO_REPO_ID:-"openstack-grizzly"}
+if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
+ if ! yum repolist enabled $RHEL6_RDO_REPO_ID | grep -q $RHEL6_RDO_REPO_ID; then
+ echo "RDO repo not detected; installing"
+ yum_install $RHEL6_RDO_REPO_RPM
+ fi
+fi
+
+
# Global Settings
# ===============
@@ -608,6 +625,15 @@
# transiently, meaning we avoid the issue of it not being cleaned
# out properly. Note we do this before the track-depends below.
pip_install hgtools
+
+ # The version of python-nose in the RHEL6 repo is incompatible
+ # with Tempest. As a workaround:
+
+ # Install nose 1.1 (Tempest-compatible) from EPEL
+ install_package python-nose1.1
+ # Add a symlink for the new nosetests to allow tox for Tempest to
+ # work unmolested.
+ sudo ln -sf /usr/bin/nosetests1.1 /usr/local/bin/nosetests
fi
TRACK_DEPENDS=${TRACK_DEPENDS:-False}