From 57abf26c30e306d1527e92a61a94088e542bb006 Mon Sep 17 00:00:00 2001
From: Andrew Butcher <abutcher@redhat.com>
Date: Mon, 16 May 2016 11:45:32 -0400
Subject: Separate master and haproxy config playbooks.

* Move haproxy configuration to a separate openshift-loadbalancer play.
* Move the haproxy role to openshift_loadbalancer.
* Add openshift_loadbalancer* facts which drive haproxy configuration.
---
 .../templates/haproxy.cfg.j2                       | 76 ++++++++++++++++++++++
 1 file changed, 76 insertions(+)
 create mode 100644 roles/openshift_loadbalancer/templates/haproxy.cfg.j2

(limited to 'roles/openshift_loadbalancer/templates')

diff --git a/roles/openshift_loadbalancer/templates/haproxy.cfg.j2 b/roles/openshift_loadbalancer/templates/haproxy.cfg.j2
new file mode 100644
index 000000000..05e360d3b
--- /dev/null
+++ b/roles/openshift_loadbalancer/templates/haproxy.cfg.j2
@@ -0,0 +1,76 @@
+# Global settings
+#---------------------------------------------------------------------
+global
+    chroot      /var/lib/haproxy
+    pidfile     /var/run/haproxy.pid
+    maxconn     {{ openshift.loadbalancer.global_maxconn }}
+    user        haproxy
+    group       haproxy
+    daemon
+
+    # turn on stats unix socket
+    stats socket /var/lib/haproxy/stats
+
+#---------------------------------------------------------------------
+# common defaults that all the 'listen' and 'backend' sections will
+# use if not designated in their block
+#---------------------------------------------------------------------
+defaults
+    mode                    http
+    log                     global
+    option                  httplog
+    option                  dontlognull
+#    option http-server-close
+    option forwardfor       except 127.0.0.0/8
+    option                  redispatch
+    retries                 3
+    timeout http-request    10s
+    timeout queue           1m
+    timeout connect         10s
+    timeout client          300s
+    timeout server          300s
+    timeout http-keep-alive 10s
+    timeout check           10s
+    maxconn                 {{ openshift.loadbalancer.default_maxconn }}
+
+listen stats :9000
+    mode http
+    stats enable
+    stats uri /
+
+{% for frontend in openshift.loadbalancer.frontends %}
+frontend  {{ frontend.name }}
+{% for bind in frontend.binds %}
+    bind {{ bind }}
+{% endfor %}
+    default_backend {{ frontend.default_backend }}
+{% if 'mode' in frontend %}
+    mode {{ frontend.mode }}
+{% endif %}
+{% if 'options' in frontend %}
+{% for option in frontend.options %}
+    option {{ option }}
+{% endfor %}
+{% endif %}
+{% if 'redirects' in frontend %}
+{% for redirect in frontend.redirects %}
+    redirect {{ redirect }}
+{% endfor %}
+{% endif %}
+{% endfor %}
+
+{% for backend in openshift.loadbalancer.backends %}
+backend {{ backend.name }}
+    balance {{ backend.balance }}
+{% if 'mode' in backend %}
+    mode {{ backend.mode }}
+{% endif %}
+{% if 'options' in backend %}
+{% for option in backend.options %}
+    option {{ option }}
+{% endfor %}
+{% endif %}
+{% for server in backend.servers %}
+    server      {{ server.name }} {{ server.address }} {{ server.opts }}
+{% endfor %}
+{% endfor %}
-- 
cgit v1.2.3