kolla/docker/common/keepalived/config-internal.sh
Sam Yaple ab9f652113 Add keepalived to ansible
Adds the needed ansible bits to support keepalived

Closes-Bug: #1479934
Change-Id: Iace29b23a0e923b1f5dc9a4f5bc0f88afce3ae62
Partially-Implements: blueprint ansible-service
2015-07-30 19:08:22 +00:00

32 lines
872 B
Bash
Executable File

#!/bin/bash
. /opt/kolla/kolla-common.sh
check_required_vars KEEPALIVED_HOST_PRIORITIES \
PUBLIC_INTERFACE \
PUBLIC_IP
MY_HOSTNAME=`hostname`
# here we unpack KEEPALIVED_HOST_PRIORITIES hostname:priority pairs and match
# them with current hostname, if it's there
for i in ${KEEPALIVED_HOST_PRIORITIES//,/ }; do
HOST_PRIORITY=(${i//:/ })
if [ "$MY_HOSTNAME" == "${HOST_PRIORITY[0]}" ]; then
KEEPALIVED_PRIORITY=${HOST_PRIORITY[1]}
fi
done
if [ -z "$KEEPALIVED_PRIORITY" ]; then
echo "ERROR: missing hostname in KEEPALIVED_HOST_PRIORITIES: $MY_HOSTNAME" >&2
exit 1
fi
sed -i '
s|@PUBLIC_INTERFACE@|'$PUBLIC_INTERFACE'|g
s|@PUBLIC_IP@|'$PUBLIC_IP'|g
s|@KEEPALIVED_PRIORITY@|'$KEEPALIVED_PRIORITY'|g
' /etc/keepalived/keepalived.conf
exec /usr/sbin/keepalived -nld -p /run/keepalived.pid