diff --git a/ansible/roles/haproxy/tasks/start.yml b/ansible/roles/haproxy/tasks/start.yml index cda6c0cf3c..ca71509155 100755 --- a/ansible/roles/haproxy/tasks/start.yml +++ b/ansible/roles/haproxy/tasks/start.yml @@ -6,6 +6,7 @@ container_privileged: "True" container_volumes: - "{{ node_config_directory }}/keepalived/:/opt/kolla/keepalived/:ro" + - "/run:/run" container_environment: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" @@ -15,6 +16,7 @@ container_name: "haproxy" container_volumes: - "{{ node_config_directory }}/haproxy/:/opt/kolla/haproxy/:ro" + - "/run:/run" container_environment: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" diff --git a/ansible/roles/haproxy/templates/haproxy.cfg.j2 b/ansible/roles/haproxy/templates/haproxy.cfg.j2 index 8fc65de148..11a3340990 100755 --- a/ansible/roles/haproxy/templates/haproxy.cfg.j2 +++ b/ansible/roles/haproxy/templates/haproxy.cfg.j2 @@ -1,10 +1,10 @@ global daemon maxconn 4000 + stats socket /run/haproxy.sock defaults mode http - maxconn 4000 option redispatch retries 3 timeout http-request 10s diff --git a/ansible/roles/haproxy/templates/keepalived.conf.j2 b/ansible/roles/haproxy/templates/keepalived.conf.j2 index e2c37dab5d..baba1fda69 100644 --- a/ansible/roles/haproxy/templates/keepalived.conf.j2 +++ b/ansible/roles/haproxy/templates/keepalived.conf.j2 @@ -1,7 +1,8 @@ vrrp_script check_alive { script "/check_alive.sh" interval 2 - weight -10 + fall 2 + rise 10 } vrrp_instance Floating { diff --git a/docker/common/keepalived/check_alive.sh b/docker/common/keepalived/check_alive.sh index ee0c5a85b6..8c2684f10b 100755 --- a/docker/common/keepalived/check_alive.sh +++ b/docker/common/keepalived/check_alive.sh @@ -1,7 +1,6 @@ #!/bin/bash -# This is noop check script. Change it to something meaningful. -# TODO (inc0): When HAProxy is implemented, this should be changed to HAProxy check -# https://github.com/stackforge/kolla/blob/master/specs/high-availability.rst +# This will return 0 when it successfully talks to the haproxy daemon via the socket +# Failures return 1 -exit 0 +echo "show info" | socat unix-connect:/run/haproxy.sock stdio