wait config file + fix ip detection

This commit is contained in:
Bertrand Gouny 2017-04-02 16:03:27 +02:00
parent b89cdbae27
commit 6910751d38
4 changed files with 21 additions and 8 deletions

View File

@ -7,20 +7,20 @@ log-helper level eq trace && set -x
# try to delete virtual ips from interface
for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
do
IP_INFO=$(ip addr list | grep ${!vip}) || continue
IP=$(echo ${!vip} | awk '{print $1}'}
IP_INFO=$(ip addr list | grep ${IP}) || continue
IP_V6=$(echo "${IP_INFO}" | grep "inet6")
IP_IP=$(echo "${IP_INFO}" | awk '{print $2}')
# ipv4
if [ -z "${IP_V6}" ]; then
IP_INTERFACE=$(echo "${IP_INFO}" | awk '{print $5}')
# ipv6
else
echo "skipping address: ${IP_IP} - ipv6 not supported yet :("
echo "skipping address: ${IP} - ipv6 not supported yet :("
continue
fi
ip addr del ${IP_IP} dev ${IP_INTERFACE} || true
ip addr del ${IP} dev ${IP_INTERFACE} || true
done
exit 0

View File

@ -0,0 +1,5 @@
#!/bin/bash -e
# this script is run during the image build
# delete keepalived default config file
rm /usr/local/etc/keepalived/keepalived.conf

View File

@ -4,4 +4,12 @@
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
log-helper level eq trace && set -x
echo -n "Waiting config file /usr/local/etc/keepalived/keepalived.conf"
while [ ! -e "/usr/local/etc/keepalived/keepalived.conf" ]
do
echo -n "."
sleep
done
echo "ok"
exec /usr/local/sbin/keepalived -f /usr/local/etc/keepalived/keepalived.conf --dont-fork --log-console ${KEEPALIVED_COMMAND_LINE_ARGUMENTS}

View File

@ -43,20 +43,20 @@ fi
# try to delete virtual ips from interface
for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
do
IP_INFO=$(ip addr list | grep ${!vip}) || continue
IP=$(echo ${!vip} | awk '{print $1}'}
IP_INFO=$(ip addr list | grep ${IP}) || continue
IP_V6=$(echo "${IP_INFO}" | grep "inet6")
IP_IP=$(echo "${IP_INFO}" | awk '{print $2}')
# ipv4
if [ -z "${IP_V6}" ]; then
IP_INTERFACE=$(echo "${IP_INFO}" | awk '{print $5}')
# ipv6
else
echo "skipping address: ${IP_IP} - ipv6 not supported yet :("
echo "skipping address: ${IP} - ipv6 not supported yet :("
continue
fi
ip addr del ${IP_IP} dev ${IP_INTERFACE} || true
ip addr del ${IP} dev ${IP_INTERFACE} || true
done
if [ ! -e "/usr/local/etc/keepalived/keepalived.conf" ]; then