Fix startup.sh and finish.sh ip address removal
This commit is contained in:
		
							parent
							
								
									ea3a6095bc
								
							
						
					
					
						commit
						0b2ba5f4bf
					
				@ -1,5 +1,8 @@
 | 
			
		||||
# Changelog
 | 
			
		||||
 | 
			
		||||
## 1.3.6
 | 
			
		||||
  - Fix startup.sh and finish.sh ip address removal
 | 
			
		||||
 | 
			
		||||
## 1.3.5
 | 
			
		||||
  - Keepalived version 1.3.5
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
			
		||||
NAME = osixia/keepalived
 | 
			
		||||
VERSION = 1.3.5
 | 
			
		||||
VERSION = 1.3.6
 | 
			
		||||
 | 
			
		||||
.PHONY: all build build-nocache test tag_latest release
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										28
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								README.md
									
									
									
									
									
								
							@ -6,9 +6,9 @@
 | 
			
		||||
 | 
			
		||||
[hub]: https://hub.docker.com/r/osixia/keepalived/
 | 
			
		||||
 | 
			
		||||
Latest release: 1.3.5 - Keepalived 1.3.5 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/keepalived/) 
 | 
			
		||||
Latest release: 1.3.6 - Keepalived 1.3.6 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/keepalived/) 
 | 
			
		||||
 | 
			
		||||
## /!\ Due to segmentation fault in keepalived 1.3.5 the image have been removed please use v1.3.4
 | 
			
		||||
## /!\ Due to segmentation fault in keepalived 1.3.6 the image have been removed please use v1.3.4
 | 
			
		||||
 | 
			
		||||
**A docker image to run Keepalived.**
 | 
			
		||||
> [keepalived.org](http://keepalived.org/)
 | 
			
		||||
@ -24,7 +24,7 @@ Latest release: 1.3.5 - Keepalived 1.3.5 - [Changelog](CHANGELOG.md) | [Docker H
 | 
			
		||||
		- [Link environment file](#link-environment-file)
 | 
			
		||||
		- [Make your own image or extend this image](#make-your-own-image-or-extend-this-image)
 | 
			
		||||
- [Advanced User Guide](#advanced-user-guide)
 | 
			
		||||
	- [Extend osixia/keepalived:1.3.5 image](#extend-osixiakeepalived135-image)
 | 
			
		||||
	- [Extend osixia/keepalived:1.3.6 image](#extend-osixiakeepalived136-image)
 | 
			
		||||
	- [Make your own keepalived image](#make-your-own-keepalived-image)
 | 
			
		||||
	- [Tests](#tests)
 | 
			
		||||
	- [Under the hood: osixia/light-baseimage](#under-the-hood-osixialight-baseimage)
 | 
			
		||||
@ -34,7 +34,7 @@ Latest release: 1.3.5 - Keepalived 1.3.5 - [Changelog](CHANGELOG.md) | [Docker H
 | 
			
		||||
 | 
			
		||||
This image require the kernel module ip_vs loaded on the host (`modprobe ip_vs`) and need to be run with : --cap-add=NET_ADMIN --net=host
 | 
			
		||||
 | 
			
		||||
    docker run --cap-add=NET_ADMIN --net=host -d osixia/keepalived:1.3.5
 | 
			
		||||
    docker run --cap-add=NET_ADMIN --net=host -d osixia/keepalived:1.3.6
 | 
			
		||||
 | 
			
		||||
## Beginner Guide
 | 
			
		||||
 | 
			
		||||
@ -44,7 +44,7 @@ but setting your own keepalived.conf is possible. 2 options:
 | 
			
		||||
 | 
			
		||||
- Link your config file at run time to `/container/service/keepalived/assets/keepalived.conf` :
 | 
			
		||||
 | 
			
		||||
      docker run --volume /data/my-keepalived.conf:/container/service/keepalived/assets/keepalived.conf --detach osixia/keepalived:1.3.5
 | 
			
		||||
      docker run --volume /data/my-keepalived.conf:/container/service/keepalived/assets/keepalived.conf --detach osixia/keepalived:1.3.6
 | 
			
		||||
 | 
			
		||||
- Add your config file by extending or cloning this image, please refer to the [Advanced User Guide](#advanced-user-guide)
 | 
			
		||||
 | 
			
		||||
@ -54,7 +54,7 @@ You may have some problems with mounted files on some systems. The startup scrip
 | 
			
		||||
 | 
			
		||||
To fix that run the container with `--copy-service` argument :
 | 
			
		||||
 | 
			
		||||
		docker run [your options] osixia/keepalived:1.3.5 --copy-service
 | 
			
		||||
		docker run [your options] osixia/keepalived:1.3.6 --copy-service
 | 
			
		||||
 | 
			
		||||
### Debug
 | 
			
		||||
 | 
			
		||||
@ -63,11 +63,11 @@ Available levels are: `none`, `error`, `warning`, `info`, `debug` and `trace`.
 | 
			
		||||
 | 
			
		||||
Example command to run the container in `debug` mode:
 | 
			
		||||
 | 
			
		||||
	docker run --detach osixia/keepalived:1.3.5 --loglevel debug
 | 
			
		||||
	docker run --detach osixia/keepalived:1.3.6 --loglevel debug
 | 
			
		||||
 | 
			
		||||
See all command line options:
 | 
			
		||||
 | 
			
		||||
	docker run osixia/keepalived:1.3.5 --help
 | 
			
		||||
	docker run osixia/keepalived:1.3.6 --help
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Environment Variables
 | 
			
		||||
@ -87,7 +87,7 @@ See how to [set your own environment variables](#set-your-own-environment-variab
 | 
			
		||||
 | 
			
		||||
  If you want to set this variable at docker run command add the tag `#PYTHON2BASH:` and convert the yaml in python:
 | 
			
		||||
 | 
			
		||||
      docker run --env KEEPALIVED_UNICAST_PEERS="#PYTHON2BASH:['192.168.1.10', '192.168.1.11']" --detach osixia/keepalived:1.3.5
 | 
			
		||||
      docker run --env KEEPALIVED_UNICAST_PEERS="#PYTHON2BASH:['192.168.1.10', '192.168.1.11']" --detach osixia/keepalived:1.3.6
 | 
			
		||||
 | 
			
		||||
  To convert yaml to python online : http://yaml-online-parser.appspot.com/
 | 
			
		||||
 | 
			
		||||
@ -109,7 +109,7 @@ See how to [set your own environment variables](#set-your-own-environment-variab
 | 
			
		||||
Environment variables can be set by adding the --env argument in the command line, for example:
 | 
			
		||||
 | 
			
		||||
    docker run --env KEEPALIVED_INTERFACE="eno1" --env KEEPALIVED_PASSWORD="password!" \
 | 
			
		||||
    --env KEEPALIVED_PRIORITY="100" --detach osixia/keepalived:1.3.5
 | 
			
		||||
    --env KEEPALIVED_PRIORITY="100" --detach osixia/keepalived:1.3.6
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#### Link environment file
 | 
			
		||||
@ -117,7 +117,7 @@ Environment variables can be set by adding the --env argument in the command lin
 | 
			
		||||
For example if your environment file is in :  /data/environment/my-env.yaml
 | 
			
		||||
 | 
			
		||||
	docker run --volume /data/environment/my-env.yaml:/container/environment/01-custom/env.yaml \
 | 
			
		||||
	--detach osixia/keepalived:1.3.5
 | 
			
		||||
	--detach osixia/keepalived:1.3.6
 | 
			
		||||
 | 
			
		||||
Take care to link your environment file to `/container/environment/XX-somedir` (with XX < 99 so they will be processed before default environment files) and not  directly to `/container/environment` because this directory contains predefined baseimage environment files to fix container environment (INITRD, LANG, LANGUAGE and LC_CTYPE).
 | 
			
		||||
 | 
			
		||||
@ -127,13 +127,13 @@ This is the best solution if you have a private registry. Please refer to the [A
 | 
			
		||||
 | 
			
		||||
## Advanced User Guide
 | 
			
		||||
 | 
			
		||||
### Extend osixia/keepalived:1.3.5 image
 | 
			
		||||
### Extend osixia/keepalived:1.3.6 image
 | 
			
		||||
 | 
			
		||||
If you need to add your custom TLS certificate, bootstrap config or environment files the easiest way is to extends this image.
 | 
			
		||||
 | 
			
		||||
Dockerfile example:
 | 
			
		||||
 | 
			
		||||
    FROM osixia/keepalived:1.3.5
 | 
			
		||||
    FROM osixia/keepalived:1.3.6
 | 
			
		||||
    MAINTAINER Your Name <your@name.com>
 | 
			
		||||
 | 
			
		||||
    ADD keepalived.conf /container/service/keepalived/assets/keepalived.conf
 | 
			
		||||
@ -152,7 +152,7 @@ Clone this project :
 | 
			
		||||
Adapt Makefile, set your image NAME and VERSION, for example :
 | 
			
		||||
 | 
			
		||||
	NAME = osixia/keepalived
 | 
			
		||||
	VERSION = 1.3.5
 | 
			
		||||
	VERSION = 1.3.6
 | 
			
		||||
 | 
			
		||||
	becomes :
 | 
			
		||||
	NAME = billy-the-king/keepalived
 | 
			
		||||
 | 
			
		||||
@ -1,27 +1,31 @@
 | 
			
		||||
global_defs {
 | 
			
		||||
  default_interface {{ KEEPALIVED_INTERFACE }}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
vrrp_instance VI_1 {
 | 
			
		||||
  interface {{ keepalived_interface }}
 | 
			
		||||
  interface {{ KEEPALIVED_INTERFACE }}
 | 
			
		||||
 | 
			
		||||
  track_interface {
 | 
			
		||||
    {{ keepalived_interface }}
 | 
			
		||||
    {{ KEEPALIVED_INTERFACE }}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  state BACKUP
 | 
			
		||||
  virtual_router_id 51
 | 
			
		||||
  priority {{ keepalived_priority }}
 | 
			
		||||
  priority {{ KEEPALIVED_PRIORITY }}
 | 
			
		||||
  nopreempt
 | 
			
		||||
 | 
			
		||||
  unicast_peer {
 | 
			
		||||
    {{ keepalived_unicast_peers }}
 | 
			
		||||
    {{ KEEPALIVED_UNICAST_PEERS }}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  virtual_ipaddress {
 | 
			
		||||
    {{ keepalived_virtual_ips }}
 | 
			
		||||
    {{ KEEPALIVED_VIRTUAL_IPS }}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  authentication {
 | 
			
		||||
    auth_type PASS
 | 
			
		||||
    auth_pass {{ keepalived_password }}
 | 
			
		||||
    auth_pass {{ KEEPALIVED_PASSWORD }}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  {{ keepalived_notify }}
 | 
			
		||||
  {{ KEEPALIVED_NOTIFY }}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@ 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 addr del ${vip}/32 dev ${KEEPALIVED_INTERFACE} || true
 | 
			
		||||
  ip addr del ${!vip}/32 dev ${KEEPALIVED_INTERFACE} || true
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
@ -11,30 +11,30 @@ if [ ! -e "$FIRST_START_DONE" ]; then
 | 
			
		||||
  #
 | 
			
		||||
  # bootstrap config
 | 
			
		||||
  #
 | 
			
		||||
  sed -i --follow-symlinks "s|{{ keepalived_interface }}|$KEEPALIVED_INTERFACE|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "s|{{ keepalived_priority }}|$KEEPALIVED_PRIORITY|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "s|{{ keepalived_password }}|$KEEPALIVED_PASSWORD|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "s|{{ KEEPALIVED_INTERFACE }}|$KEEPALIVED_INTERFACE|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "s|{{ KEEPALIVED_PRIORITY }}|$KEEPALIVED_PRIORITY|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "s|{{ KEEPALIVED_PASSWORD }}|$KEEPALIVED_PASSWORD|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
 | 
			
		||||
  if [ -n "$KEEPALIVED_NOTIFY" ]; then
 | 
			
		||||
    sed -i --follow-symlinks "s|{{ keepalived_notify }}|notify \"$KEEPALIVED_NOTIFY\"|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
    sed -i --follow-symlinks "s|{{ KEEPALIVED_NOTIFY }}|notify \"$KEEPALIVED_NOTIFY\"|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
    chmod +x $KEEPALIVED_NOTIFY
 | 
			
		||||
  else
 | 
			
		||||
    sed -i --follow-symlinks "/{{ keepalived_notify }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
    sed -i --follow-symlinks "/{{ KEEPALIVED_NOTIFY }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # unicast peers
 | 
			
		||||
  for peer in $(complex-bash-env iterate KEEPALIVED_UNICAST_PEERS)
 | 
			
		||||
  do
 | 
			
		||||
    sed -i --follow-symlinks "s|{{ keepalived_unicast_peers }}|${!peer}\n    {{ keepalived_unicast_peers }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
    sed -i --follow-symlinks "s|{{ KEEPALIVED_UNICAST_PEERS }}|${!peer}\n    {{ KEEPALIVED_UNICAST_PEERS }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  done
 | 
			
		||||
  sed -i --follow-symlinks "/{{ keepalived_unicast_peers }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "/{{ KEEPALIVED_UNICAST_PEERS }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
 | 
			
		||||
  # virtual ips
 | 
			
		||||
  for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
 | 
			
		||||
  do
 | 
			
		||||
    sed -i --follow-symlinks "s|{{ keepalived_virtual_ips }}|${!vip}\n    {{ keepalived_virtual_ips }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
    sed -i --follow-symlinks "s|{{ KEEPALIVED_VIRTUAL_IPS }}|${!vip}\n    {{ KEEPALIVED_VIRTUAL_IPS }}|g" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  done
 | 
			
		||||
  sed -i --follow-symlinks "/{{ keepalived_virtual_ips }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
  sed -i --follow-symlinks "/{{ KEEPALIVED_VIRTUAL_IPS }}/d" ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf
 | 
			
		||||
 | 
			
		||||
  touch $FIRST_START_DONE
 | 
			
		||||
fi
 | 
			
		||||
@ -42,10 +42,10 @@ fi
 | 
			
		||||
# try to delete virtual ips from interface
 | 
			
		||||
for vip in $(complex-bash-env iterate KEEPALIVED_VIRTUAL_IPS)
 | 
			
		||||
do
 | 
			
		||||
  ip addr del ${vip}/32 dev ${KEEPALIVED_INTERFACE} || true
 | 
			
		||||
  ip addr del ${!vip}/32 dev ${KEEPALIVED_INTERFACE} || true
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if [ ! -e "/etc/backup-manager.conf" ]; then
 | 
			
		||||
if [ ! -e "/etc/keepalived/keepalived.conf" ]; then
 | 
			
		||||
  ln -sf ${CONTAINER_SERVICE_DIR}/keepalived/assets/keepalived.conf /etc/keepalived/keepalived.conf
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user