aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-09-25 09:19:07 +0000
committerSam Yaple <sam@yaple.net>2015-09-25 11:06:27 +0000
commit89ecfc164ed92696de4c5cd2c0f90f23c1ad3784 (patch)
tree5ef58eb7ee0a81276370ef212b18caeb89e09602
parent9c54b0afff2c522960d6a13eb4885cb2a0a53ce0 (diff)
downloadkolla-89ecfc164ed92696de4c5cd2c0f90f23c1ad3784.tar.gz
kolla-89ecfc164ed92696de4c5cd2c0f90f23c1ad3784.zip
Replace config-external - haproxy keepalived
Change-Id: I668c31401305713e720f0f0ae8ec18e320ea1c76 Partially-Implements: blueprint replace-config-external
-rwxr-xr-xansible/roles/haproxy/tasks/config.yml10
-rwxr-xr-xansible/roles/haproxy/tasks/start.yml4
-rw-r--r--ansible/roles/haproxy/templates/haproxy.json.j211
-rw-r--r--ansible/roles/haproxy/templates/keepalived.json.j211
-rwxr-xr-xdocker/haproxy/ensure_latest_config.sh2
-rwxr-xr-xdocker/haproxy/start.sh10
-rwxr-xr-xdocker/keepalived/start.sh10
7 files changed, 43 insertions, 15 deletions
diff --git a/ansible/roles/haproxy/tasks/config.yml b/ansible/roles/haproxy/tasks/config.yml
index d71ae7232..633e96c6f 100755
--- a/ansible/roles/haproxy/tasks/config.yml
+++ b/ansible/roles/haproxy/tasks/config.yml
@@ -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"
diff --git a/ansible/roles/haproxy/tasks/start.yml b/ansible/roles/haproxy/tasks/start.yml
index 317c497a1..84a545d2b 100755
--- a/ansible/roles/haproxy/tasks/start.yml
+++ b/ansible/roles/haproxy/tasks/start.yml
@@ -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 }}"
diff --git a/ansible/roles/haproxy/templates/haproxy.json.j2 b/ansible/roles/haproxy/templates/haproxy.json.j2
new file mode 100644
index 000000000..62a30b3dd
--- /dev/null
+++ b/ansible/roles/haproxy/templates/haproxy.json.j2
@@ -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"
+ }
+ ]
+}
diff --git a/ansible/roles/haproxy/templates/keepalived.json.j2 b/ansible/roles/haproxy/templates/keepalived.json.j2
new file mode 100644
index 000000000..27ebf7c96
--- /dev/null
+++ b/ansible/roles/haproxy/templates/keepalived.json.j2
@@ -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"
+ }
+ ]
+}
diff --git a/docker/haproxy/ensure_latest_config.sh b/docker/haproxy/ensure_latest_config.sh
index b91189ca5..af20175a6 100755
--- a/docker/haproxy/ensure_latest_config.sh
+++ b/docker/haproxy/ensure_latest_config.sh
@@ -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
diff --git a/docker/haproxy/start.sh b/docker/haproxy/start.sh
index d1da4a607..629c85254 100755
--- a/docker/haproxy/start.sh
+++ b/docker/haproxy/start.sh
@@ -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
diff --git a/docker/keepalived/start.sh b/docker/keepalived/start.sh
index a122526e4..8c41a5f7d 100755
--- a/docker/keepalived/start.sh
+++ b/docker/keepalived/start.sh
@@ -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