From 7ac64237fcb09893ae36b1b2f278e1474df8c49b Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 30 Jul 2013 13:10:52 -0700 Subject: site_webapp - add support for haproxy weights and backup servers (resolves #3278) --- platform.rb | 2 +- .../site_webapp/templates/haproxy_couchdb.cfg.erb | 25 ++++++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/platform.rb b/platform.rb index 32b8fd19..f6ff82c6 100644 --- a/platform.rb +++ b/platform.rb @@ -4,7 +4,7 @@ Leap::Platform.define do self.version = "0.2.3" - self.compatible_cli = "1.1.4".."1.99" + self.compatible_cli = "1.2.1".."1.99" # # the facter facts that should be gathered diff --git a/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb b/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb index f08161ee..914a964e 100644 --- a/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb +++ b/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb @@ -1,16 +1,23 @@ listen bigcouch-in - mode http + mode http balance roundrobin - option httplog - option dontlognull - option httpchk GET / - option http-server-close - + option httplog + option dontlognull + option httpchk GET / # health check using simple get to root + option http-server-close # use client keep-alive, but close server connection. + option allbackups # balance among all backups, not just one. + bind localhost:4096 -<% for port in @local_ports -%> - server couchdb_<%=port%> localhost:<%=port%> check inter 3000 fastinter 1000 downinter 1000 rise 2 fall 1 -<% end -%> + default-server inter 3000 fastinter 1000 downinter 1000 rise 2 fall 1 + +<%- if @haproxy['servers'] -%> +<%- @haproxy['servers'].each do |name,server| -%> +<%- backup = server['backup'] ? 'backup' : '' -%> + # <%=name%> + server couchdb_<%=server['port']%> <%=server['host']%>:<%=server['port']%> <%=backup%> weight <%=server['weight']%> check +<%- end -%> +<%- end -%> -- cgit v1.2.3