Merge pull request #10 from rtyler/chicken-dinner

Fixy faxy
This commit is contained in:
Gary Larizza 2012-07-08 21:52:20 -07:00
commit 4c773f9f36
7 changed files with 72 additions and 36 deletions

View File

@ -1,5 +1,5 @@
require 'rake'
require 'puppet-lint/tasks/puppet-lint'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |t|

View File

@ -21,7 +21,7 @@
# fragment name.
#
# [*listening_service*]
# The haproxy service's instance name (or, the title of the
# The haproxy service's instance name (or, the title of the
# haproxy::config resource). This must match up with a declared
# haproxy::config resource.
#

View File

@ -51,7 +51,8 @@
# virtual_ip => $::ipaddress,
# virtual_ip_port => '18140',
# mode => 'tcp',
# haproxy_config_options => {'option' => ['tcplog', 'ssl-hello-chk'], 'balance' => 'roundrobin'},
# haproxy_config_options => {'option' => ['tcplog', 'ssl-hello-chk'],
# 'balance' => 'roundrobin'},
# }
#
# === Authors
@ -63,7 +64,9 @@ define haproxy::config (
$order = '20',
$virtual_ip = $::ipaddress,
$mode = 'tcp',
$haproxy_config_options = {'option' => ['tcplog', 'ssl-hello-chk'], 'balance' => 'roundrobin'},
$haproxy_config_options = {'option' => ['tcplog',
'ssl-hello-chk'],
'balance' => 'roundrobin'},
) {
concat::fragment { "${name}_config_block":
order => $order,

View File

@ -45,7 +45,12 @@
# 'stats' => 'enable',
# 'option' => 'redispatch',
# 'retries' => '3',
# 'timeout' => ['http-request 10s', 'queue 1m', 'connect 10s', 'client 1m', 'server 1m', 'check 10s'],
# 'timeout' => ['http-request 10s',
# 'queue 1m',
# 'connect 10s',
# 'client 1m',
# 'server 1m',
# 'check 10s'],
# 'maxconn' => '8000'
# },
#
@ -63,13 +68,13 @@ class haproxy (
include concat::setup
package { 'haproxy':
ensure => $enable ? {
ensure => $enable ? {
true => present,
false => absent,
},
name => 'haproxy',
name => 'haproxy',
}
if $enable {
concat { '/etc/haproxy/haproxy.cfg':
owner => '0',
@ -95,11 +100,11 @@ class haproxy (
}
service { 'haproxy':
ensure => $enable ? {
ensure => $enable ? {
true => running,
false => stopped,
},
enable => $enable ? {
enable => $enable ? {
true => true,
false => false,
},

View File

@ -7,17 +7,36 @@ describe 'haproxy::balancermember' do
:hostname => 'dero'
}
end
let(:params) do
{ :name => 'tyler',
:listening_service => 'croy',
:balancer_port => '18140',
:balancermember_options => 'check'
}
context 'with a single balancermember option' do
let(:params) do
{ :name => 'tyler',
:listening_service => 'croy',
:balancer_port => '18140',
:balancermember_options => 'check'
}
end
it { should contain_concat__fragment('croy_balancermember_tyler').with(
'order' => '20',
'target' => '/etc/haproxy/haproxy.cfg',
'content' => " server dero 1.1.1.1:18140 check\n"
) }
end
it { should contain_concat__fragment('croy_balancermember_tyler').with(
'order' => '20',
'target' => '/etc/haproxy/haproxy.cfg',
'content' => " server dero 1.1.1.1:18140 check \n"
) }
end
context 'with multiple balancermember options' do
let(:params) do
{ :name => 'tyler',
:listening_service => 'croy',
:balancer_port => '18140',
:balancermember_options => ['check', 'close']
}
end
it { should contain_concat__fragment('croy_balancermember_tyler').with(
'order' => '20',
'target' => '/etc/haproxy/haproxy.cfg',
'content' => " server dero 1.1.1.1:18140 check close\n"
) }
end
end

View File

@ -1 +1,4 @@
server <%= server_name %> <%= balancer_ip %>:<%= balancer_port %> <% balancermember_options.each do |item| %> <%= item %> <% end %>
server <%= server_name %> <%= balancer_ip %>:<%= balancer_port %> <%
items = balancermember_options
items = [items] unless balancermember_options.instance_of? Array
items.each do |item| %> <%= item %><% end %>

View File

@ -1,7 +1,7 @@
# Declare haproxy base class with configuration options
class { 'haproxy':
enable => true,
haproxy_global_options => { 'log' => "${::ipaddress} local0",
enable => true,
haproxy_global_options => {'log' => "${::ipaddress} local0",
'chroot' => '/var/lib/haproxy',
'pidfile' => '/var/run/haproxy.pid',
'maxconn' => '4000',
@ -10,14 +10,18 @@ class { 'haproxy':
'daemon' => '',
'stats' => 'socket /var/lib/haproxy/stats'
},
haproxy_defaults_options => { 'log' => 'global',
'stats' => 'enable',
'option' => 'redispatch',
'retries' => '3',
'timeout' => ['http-request 10s', 'queue 1m', 'connect 10s', 'client 1m', 'server 1m', 'check 10s'],
'maxconn' => '8000'
},
haproxy_defaults_options => {'log' => 'global',
'stats' => 'enable',
'option' => 'redispatch',
'retries' => '3',
'timeout' => ['http-request 10s',
'queue 1m',
'connect 10s',
'client 1m',
'server 1m',
'check 10s'],
'maxconn' => '8000'
},
}
# Export a balancermember server, note that the listening_service parameter
@ -39,12 +43,14 @@ haproxy::config { 'puppet00':
order => '20',
virtual_ip => $::ipaddress,
virtual_ip_port => '18140',
haproxy_config_options => { 'option' => ['tcplog', 'ssl-hello-chk'], 'balance' => 'roundrobin' },
haproxy_config_options => {
'option' => ['tcplog', 'ssl-hello-chk'], 'balance' => 'roundrobin' },
}
haproxy::config { 'stats':
order => '30',
virtual_ip => '',
virtual_ip_port => '9090',
haproxy_config_options => { 'mode' => 'http', 'stats' => ['uri /', 'auth puppet:puppet'] },
haproxy_config_options => { 'mode' => 'http',
'stats' => ['uri /', 'auth puppet:puppet']
},
}