aboutsummaryrefslogtreecommitdiffstats
path: root/charms/trusty/contrail-analytics/hooks/charmhelpers/contrib/openstack/templates/haproxy.cfg
blob: ad875f16a68272554c1a72a2089a482e52de85d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
global
    log {{ local_host }} local0
    log {{ local_host }} local1 notice
    maxconn 20000
    user haproxy
    group haproxy
    spread-checks 0

defaults
    log global
    mode tcp
    option tcplog
    option dontlognull
    retries 3
    timeout queue 1000
    timeout connect 1000
{% if haproxy_client_timeout -%}
    timeout client {{ haproxy_client_timeout }}
{% else -%}
    timeout client 30000
{% endif -%}

{% if haproxy_server_timeout -%}
    timeout server {{ haproxy_server_timeout }}
{% else -%}
    timeout server 30000
{% endif -%}

listen stats {{ stat_port }}
    mode http
    stats enable
    stats hide-version
    stats realm Haproxy\ Statistics
    stats uri /
    stats auth admin:password

{% if frontends -%}
{% for service, ports in service_ports.items() -%}
frontend tcp-in_{{ service }}
    bind *:{{ ports[0] }}
    {% if ipv6 -%}
    bind :::{{ ports[0] }}
    {% endif -%}
    {% for frontend in frontends -%}
    acl net_{{ frontend }} dst {{ frontends[frontend]['network'] }}
    use_backend {{ service }}_{{ frontend }} if net_{{ frontend }}
    {% endfor -%}
    default_backend {{ service }}_{{ default_backend }}

{% for frontend in frontends -%}
backend {{ service }}_{{ frontend }}
    balance leastconn
    {% for unit, address in frontends[frontend]['backends'].items() -%}
    server {{ unit }} {{ address }}:{{ ports[1] }} check
    {% endfor %}
{% endfor -%}
{% endfor -%}
{% endif -%}