summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/ha/templates/haproxy.cfg
blob: 222b5561ae7b210893e84d090c47c89a8bcf802d (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
global
    #chroot /var/run/haproxy
    daemon
    user haproxy
    group haproxy
    maxconn 4000
    pidfile /var/run/haproxy/haproxy.pid
    #log 127.0.0.1 local0
    tune.bufsize 1000000
    stats socket /var/run/haproxy.sock
    stats timeout 2m

defaults
    log global
    maxconn 8000
    option redispatch
    option dontlognull
    option splice-auto
    timeout http-request 10s
    timeout queue 1m
    timeout connect 10s
    timeout client 50s
    timeout server 50s
    timeout check 10s
    retries 3

listen  proxy-mysql
    bind {{ internal_vip.ip }}:3306
    option tcpka
    option tcplog
    balance source
{% for host, ip in haproxy_hosts.items() %}
{% if loop.index == 1 %}
    server {{ host }} {{ ip }}:3306 weight 1 check inter 2000 rise 2 fall 5
{% else %}
    server {{ host }} {{ ip }}:3306 weight 1 check inter 2000 rise 2 fall 5 backup
{% endif %}
{% endfor %}

listen  proxy-rabbit
    bind {{ internal_vip.ip }}:5672
    bind {{ public_vip.ip }}:5672

    option tcpka
    option tcplog
    timeout client 3h
    timeout server 3h
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:5672 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-glance_registry_cluster
    bind {{ internal_vip.ip }}:9191
    bind {{ public_vip.ip }}:9191
    option tcpka
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:9191 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-glance_api_cluster
    bind {{ internal_vip.ip }}:9292
    bind {{ public_vip.ip }}:9292
    option tcpka
    option tcplog
    option httpchk
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:9292 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-nova-novncproxy
    bind {{ internal_vip.ip }}:6080
    bind {{ public_vip.ip }}:6080
    option tcpka
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:6080 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-network
    bind {{ internal_vip.ip }}:9696
    bind {{ public_vip.ip }}:9696
    option tcpka
    option tcplog
    balance source
    option httpchk
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:9696 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-volume
    bind {{ internal_vip.ip }}:8776
    bind {{ public_vip.ip }}:8776
    option tcpka
    option httpchk
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:8776 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-keystone_admin_cluster
    bind {{ internal_vip.ip }}:35357
    bind {{ public_vip.ip }}:35357
    option tcpka
    option httpchk
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:35357 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-keystone_public_internal_cluster
    bind {{ internal_vip.ip }}:5000
    bind {{ public_vip.ip }}:5000
    option tcpka
    option httpchk
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:5000 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-nova_compute_api_cluster
    bind {{ internal_vip.ip }}:8774
    bind {{ public_vip.ip }}:8774
    mode tcp
    option httpchk
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:8774 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-nova_metadata_api_cluster
    bind {{ internal_vip.ip }}:8775
    bind {{ public_vip.ip }}:8775
    option tcpka
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:8775 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-cinder_api_cluster
    bind {{ internal_vip.ip }}:8776
    bind {{ public_vip.ip }}:8776
    mode tcp
    option httpchk
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:8776 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-ceilometer_api_cluster
    bind {{ internal_vip.ip }}:8777
    bind {{ public_vip.ip }}:8777
    mode tcp
    option tcp-check
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:8777 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-aodh_api_cluster
    bind {{ internal_vip.ip }}:8042
    bind {{ public_vip.ip }}:8042
    mode tcp
    option tcp-check
    option tcplog
    balance source
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:8042 weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen  proxy-dashboarad
    bind {{ public_vip.ip }}:80
    mode  http
    balance  source
    capture  cookie vgnvisitor= len 32
    cookie  SERVERID insert indirect nocache
    option  forwardfor
    option  httpchk
    option  httpclose
    rspidel  ^Set-cookie:\ IP=
{% for host,ip in haproxy_hosts.items() %}
    server {{ host }} {{ ip }}:80 cookie {{ host }} weight 1 check inter 2000 rise 2 fall 5
{% endfor %}

listen stats
    mode http
    bind 0.0.0.0:9999
    stats enable
    stats refresh 30s
    stats uri /
    stats realm Global\ statistics
    stats auth admin:admin