Replace config-external - haproxy keepalived

Change-Id: I668c31401305713e720f0f0ae8ec18e320ea1c76
Partially-Implements: blueprint replace-config-external
This commit is contained in:
Sam Yaple 2015-09-25 09:19:07 +00:00
parent 9c54b0afff
commit 89ecfc164e
7 changed files with 43 additions and 15 deletions

View File

@ -10,6 +10,11 @@
src: "haproxy.cfg.j2"
dest: "{{ node_config_directory }}/haproxy/haproxy.cfg"
- name: Copying haproxy JSON configuration file
template:
src: "haproxy.json.j2"
dest: "{{ node_config_directory }}/haproxy/config.json"
- name: Allowing non-local IP binding
sysctl: name="net.ipv4.ip_nonlocal_bind" value=1 sysctl_set=yes
@ -19,6 +24,11 @@
state: "directory"
recurse: "yes"
- name: Copying keepalived JSON configuration file
template:
src: "keepalived.json.j2"
dest: "{{ node_config_directory }}/keepalived/config.json"
- name: Copying over config(s)
template:
src: "keepalived.conf.j2"

View File

@ -15,7 +15,7 @@
image: "{{ keepalived_image_full }}"
privileged: True
volumes:
- "{{ node_config_directory }}/keepalived/:/opt/kolla/keepalived/:ro"
- "{{ node_config_directory }}/keepalived/:/opt/kolla/config_files/:ro"
- "/run:/run"
- "/lib/modules:/lib/modules:ro"
env:
@ -37,7 +37,7 @@
image: "{{ haproxy_image_full }}"
privileged: True
volumes:
- "{{ node_config_directory }}/haproxy/:/opt/kolla/haproxy/:ro"
- "{{ node_config_directory }}/haproxy/:/opt/kolla/config_files/:ro"
- "/run:/run"
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"

View File

@ -0,0 +1,11 @@
{
"command": "/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid",
"config_files": [
{
"source": "/opt/kolla/config_files/haproxy.cfg",
"dest": "/etc/haproxy/haproxy.cfg",
"owner": "root",
"perm": "0644"
}
]
}

View File

@ -0,0 +1,11 @@
{
"command": "/usr/sbin/keepalived -nld -p /run/keepalived.pid",
"config_files": [
{
"source": "/opt/kolla/config_files/keepalived.conf",
"dest": "/etc/keepalived/keepalived.conf",
"owner": "root",
"perm": "0644"
}
]
}

View File

@ -1,7 +1,7 @@
#!/bin/bash
CURRENT_CONFIG_HASH=$(sha1sum /etc/haproxy/haproxy.cfg | cut -f1 -d' ')
NEW_CONFIG_HASH=$(sha1sum /opt/kolla/haproxy/haproxy.cfg | cut -f1 -d' ')
NEW_CONFIG_HASH=$(sha1sum /opt/kolla/config_files/haproxy.cfg | cut -f1 -d' ')
if [[ $CURRENT_CONFIG_HASH != $NEW_CONFIG_HASH ]]; then
changed=changed

View File

@ -1,17 +1,15 @@
#!/bin/bash
set -o errexit
CMD='/usr/sbin/haproxy'
ARGS="-f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid"
# Loading common functions.
source /opt/kolla/kolla-common.sh
# Execute config strategy
set_configs
# Generate run command
python /opt/kolla/set_configs.py
CMD=$(cat /run_command)
# We are intentionally not using exec so we can reload the haproxy config later
$CMD $ARGS
$CMD
# TODO(SamYaple): This has the potential for a race condition triggered by a
# config reload that could cause the container to exit

View File

@ -1,14 +1,12 @@
#!/bin/bash
set -o errexit
CMD="/usr/sbin/keepalived"
ARGS="-nld -p /run/keepalived.pid"
# Loading common functions.
source /opt/kolla/kolla-common.sh
# Execute config strategy
set_configs
# Generate run command
python /opt/kolla/set_configs.py
CMD=$(cat /run_command)
modprobe ip_vs
@ -17,4 +15,4 @@ if [ -f /run/keepalived.pid ]; then
rm /run/keepalived.pid
fi
exec $CMD $ARGS
exec $CMD