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-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:8888 stats enable stats refresh 30s stats uri / stats realm Global\ statistics stats auth admin:admin