kolla-ansible/docker/common/rabbitmq/config-rabbit.sh
Swapnil Kulkarni 1c147e4def Update service helper scripts for variable changes
- Updated the required variables to be sorted so
  that they are better visible one on each line

- Removed variable defaults from each service scripts
  and added them to tools/genenv file which holds
  all default values

Change-Id: Ia7b1b08ba3f963b46b81434ce84f476d56890a93
Closes-Bug: #1476494
Closes-Bug: #1467652
2015-07-29 18:08:50 +00:00

58 lines
1.8 KiB
Bash

#!/bin/bash
RABBITMQ_CLUSTER_CONFIGURATION=""
function configure_files {
sed -i '
s|@RABBITMQ_USER@|'"$RABBITMQ_USER"'|g
s|@RABBITMQ_PASS@|'"$RABBITMQ_PASS"'|g
s|@RABBITMQ_CLUSTER_CONFIGURATION@|'"$RABBITMQ_CLUSTER_CONFIGURATION"'|g
' /etc/rabbitmq/rabbitmq.config
sed -i '
s|@RABBITMQ_LOG_BASE@|'"$RABBITMQ_LOG_BASE"'|g
' /etc/rabbitmq/rabbitmq-env.conf
}
function set_rabbitmq_cookie {
echo "${RABBITMQ_CLUSTER_COOKIE}" > /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq: /var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
}
function configure_cluster {
check_required_vars RABBITMQ_CLUSTER_COOKIE \
RABBITMQ_CLUSTER_NODES
set_rabbitmq_cookie
HOSTNAME=""
IP_ADDRESS=""
DELIMETER=""
for node in ${RABBITMQ_CLUSTER_NODES}; do
HOSTNAME=`echo ${node} | cut -d'@' -f1`
IP_ADDRESS=`echo ${node} | cut -d'@' -f2`
CLUSTER_NODES="${CLUSTER_NODES}${DELIMETER}rabbit@${HOSTNAME}"
echo "${IP_ADDRESS} ${HOSTNAME}" >> /etc/hosts
DELIMETER=","
done
RABBITMQ_CLUSTER_CONFIGURATION="{cluster_nodes, {[$CLUSTER_NODES], disc}},"
}
function configure_rabbit {
if [ "$RABBITMQ_CLUSTER_NODES" ] && [ "$RABBITMQ_CLUSTER_COOKIE" ]; then
configure_cluster
elif [ "$RABBITMQ_SERVICE_HOST" ]; then
# work around:
# https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/653405
HOSTNAME=`/usr/bin/hostname -s 2> /dev/null || /bin/hostname 2> /dev/null`
echo "${RABBITMQ_SERVICE_HOST} ${HOSTNAME}" > /etc/hosts
else
echo "You need RABBITMQ_SERVICE_HOST or RABBITMQ_CLUSTER_NODES & " \
" RABBITMQ_CLUSTER_COOKIES variables"
exit 1
fi
configure_files
}