wait config file + fix ip detection
This commit is contained in:
		
							parent
							
								
									b89cdbae27
								
							
						
					
					
						commit
						6910751d38
					
				@ -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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5
									
								
								image/service/keepalived/install.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								image/service/keepalived/install.sh
									
									
									
									
									
										Executable 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
 | 
			
		||||
@ -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}
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user