From 752f980d1cc45d4cd617675722feedc286739878 Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 22 May 2014 10:37:32 +0200 Subject: fix haproxy config if webapp and mx run on the same host the problem was, that both site_mx::haproxy and site_webapp::haproxy declared the same resource. I fixed it by moving that resource to site_haproxy. Since that gets included by both classes, everything works like a charm --- puppet/modules/site_haproxy/manifests/init.pp | 10 ++++++++++ puppet/modules/site_mx/manifests/haproxy.pp | 9 --------- puppet/modules/site_webapp/manifests/haproxy.pp | 8 -------- 3 files changed, 10 insertions(+), 17 deletions(-) (limited to 'puppet') diff --git a/puppet/modules/site_haproxy/manifests/init.pp b/puppet/modules/site_haproxy/manifests/init.pp index 1a681373..144d1ed2 100644 --- a/puppet/modules/site_haproxy/manifests/init.pp +++ b/puppet/modules/site_haproxy/manifests/init.pp @@ -1,4 +1,6 @@ class site_haproxy { + $haproxy = hiera('haproxy') + $local_ports = $haproxy['local_ports'] class { 'haproxy': enable => true, @@ -28,5 +30,13 @@ class site_haproxy { order => '90', source => 'puppet:///modules/site_haproxy/haproxy-stats.cfg'; } + + # Template uses $global_options, $defaults_options and $haproxy + concat::fragment { 'leap_haproxy_webapp_couchdb': + target => '/etc/haproxy/haproxy.cfg', + order => '20', + content => template('site_webapp/haproxy_couchdb.cfg.erb'), + } + include site_check_mk::agent::haproxy } diff --git a/puppet/modules/site_mx/manifests/haproxy.pp b/puppet/modules/site_mx/manifests/haproxy.pp index 988eeaf3..4e5675eb 100644 --- a/puppet/modules/site_mx/manifests/haproxy.pp +++ b/puppet/modules/site_mx/manifests/haproxy.pp @@ -2,13 +2,4 @@ class site_mx::haproxy { include site_haproxy - $haproxy = hiera('haproxy') - $local_ports = $haproxy['local_ports'] - - # Template uses $global_options, $defaults_options - concat::fragment { 'leap_haproxy_webapp_couchdb': - target => '/etc/haproxy/haproxy.cfg', - order => '20', - content => template('site_webapp/haproxy_couchdb.cfg.erb'), - } } diff --git a/puppet/modules/site_webapp/manifests/haproxy.pp b/puppet/modules/site_webapp/manifests/haproxy.pp index b69c69da..e956f71f 100644 --- a/puppet/modules/site_webapp/manifests/haproxy.pp +++ b/puppet/modules/site_webapp/manifests/haproxy.pp @@ -2,12 +2,4 @@ class site_webapp::haproxy { include site_haproxy - $haproxy = hiera('haproxy') - - # Template uses $global_options, $defaults_options - concat::fragment { 'leap_haproxy_webapp_couchdb': - target => '/etc/haproxy/haproxy.cfg', - order => '20', - content => template('site_webapp/haproxy_couchdb.cfg.erb'), - } } -- cgit v1.2.3 From 692359e1bb9e5101c3ba882e5b9d3de1c4c63716 Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 22 May 2014 10:46:58 +0200 Subject: remove old classes site_mx::haproxy and site_webapp::haproxy only included site_haproxy. They didn't do anything else. So just include site_haproxy in manifests/init.pp and remove the unused classes --- puppet/modules/site_mx/manifests/haproxy.pp | 5 ----- puppet/modules/site_mx/manifests/init.pp | 2 +- puppet/modules/site_webapp/manifests/haproxy.pp | 5 ----- puppet/modules/site_webapp/manifests/init.pp | 2 +- 4 files changed, 2 insertions(+), 12 deletions(-) delete mode 100644 puppet/modules/site_mx/manifests/haproxy.pp delete mode 100644 puppet/modules/site_webapp/manifests/haproxy.pp (limited to 'puppet') diff --git a/puppet/modules/site_mx/manifests/haproxy.pp b/puppet/modules/site_mx/manifests/haproxy.pp deleted file mode 100644 index 4e5675eb..00000000 --- a/puppet/modules/site_mx/manifests/haproxy.pp +++ /dev/null @@ -1,5 +0,0 @@ -class site_mx::haproxy { - - include site_haproxy - -} diff --git a/puppet/modules/site_mx/manifests/init.pp b/puppet/modules/site_mx/manifests/init.pp index 3949c787..c3d38a46 100644 --- a/puppet/modules/site_mx/manifests/init.pp +++ b/puppet/modules/site_mx/manifests/init.pp @@ -10,7 +10,7 @@ class site_mx { include site_postfix::mx - include site_mx::haproxy + include site_haproxy include site_shorewall::mx include site_shorewall::service::smtp include site_mx::couchdb diff --git a/puppet/modules/site_webapp/manifests/haproxy.pp b/puppet/modules/site_webapp/manifests/haproxy.pp deleted file mode 100644 index e956f71f..00000000 --- a/puppet/modules/site_webapp/manifests/haproxy.pp +++ /dev/null @@ -1,5 +0,0 @@ -class site_webapp::haproxy { - - include site_haproxy - -} diff --git a/puppet/modules/site_webapp/manifests/init.pp b/puppet/modules/site_webapp/manifests/init.pp index d02a7261..d6f1d7ae 100644 --- a/puppet/modules/site_webapp/manifests/init.pp +++ b/puppet/modules/site_webapp/manifests/init.pp @@ -16,7 +16,7 @@ class site_webapp { include site_config::ruby::dev include site_webapp::apache include site_webapp::couchdb - include site_webapp::haproxy + include site_haproxy include site_webapp::cron include site_config::x509::cert include site_config::x509::key -- cgit v1.2.3 From c8025a3b2a13f01fd1be436609855e944f7b625b Mon Sep 17 00:00:00 2001 From: Christoph Date: Sat, 24 May 2014 13:03:41 +0200 Subject: remove unused variable local_ports --- puppet/modules/site_haproxy/manifests/init.pp | 1 - 1 file changed, 1 deletion(-) (limited to 'puppet') diff --git a/puppet/modules/site_haproxy/manifests/init.pp b/puppet/modules/site_haproxy/manifests/init.pp index 144d1ed2..304df0bd 100644 --- a/puppet/modules/site_haproxy/manifests/init.pp +++ b/puppet/modules/site_haproxy/manifests/init.pp @@ -1,6 +1,5 @@ class site_haproxy { $haproxy = hiera('haproxy') - $local_ports = $haproxy['local_ports'] class { 'haproxy': enable => true, -- cgit v1.2.3 From 27f0d5731593e3a305dbfb315804294960ad204e Mon Sep 17 00:00:00 2001 From: Christoph Date: Sat, 24 May 2014 13:12:17 +0200 Subject: move haproxy-template to modules/site_haproxy --- puppet/modules/site_haproxy/manifests/init.pp | 4 ++-- .../site_haproxy/templates/haproxy_couchdb.cfg.erb | 23 ++++++++++++++++++++++ .../site_webapp/templates/haproxy_couchdb.cfg.erb | 23 ---------------------- 3 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb delete mode 100644 puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb (limited to 'puppet') diff --git a/puppet/modules/site_haproxy/manifests/init.pp b/puppet/modules/site_haproxy/manifests/init.pp index 304df0bd..6bcf3f5c 100644 --- a/puppet/modules/site_haproxy/manifests/init.pp +++ b/puppet/modules/site_haproxy/manifests/init.pp @@ -30,11 +30,11 @@ class site_haproxy { source => 'puppet:///modules/site_haproxy/haproxy-stats.cfg'; } - # Template uses $global_options, $defaults_options and $haproxy + # Template uses $haproxy concat::fragment { 'leap_haproxy_webapp_couchdb': target => '/etc/haproxy/haproxy.cfg', order => '20', - content => template('site_webapp/haproxy_couchdb.cfg.erb'), + content => template('site_haproxy/haproxy_couchdb.cfg.erb'), } include site_check_mk::agent::haproxy diff --git a/puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb b/puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb new file mode 100644 index 00000000..1fa01b96 --- /dev/null +++ b/puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb @@ -0,0 +1,23 @@ + +listen bigcouch-in + mode http + balance roundrobin + 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 + + default-server inter 3000 fastinter 1000 downinter 1000 rise 2 fall 1 + +<%- if @haproxy['servers'] -%> +<%- @haproxy['servers'].sort.each do |name,server| -%> +<%- backup = server['backup'] ? 'backup' : '' -%> + # <%=name%> + server couchdb_<%=server['port']%> <%=server['host']%>:<%=server['port']%> <%=backup%> weight <%=server['weight']%> check + +<%- end -%> +<%- end -%> + diff --git a/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb b/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb deleted file mode 100644 index 1fa01b96..00000000 --- a/puppet/modules/site_webapp/templates/haproxy_couchdb.cfg.erb +++ /dev/null @@ -1,23 +0,0 @@ - -listen bigcouch-in - mode http - balance roundrobin - 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 - - default-server inter 3000 fastinter 1000 downinter 1000 rise 2 fall 1 - -<%- if @haproxy['servers'] -%> -<%- @haproxy['servers'].sort.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