commit
4c773f9f36
@ -1,5 +1,5 @@
|
||||
require 'rake'
|
||||
|
||||
require 'puppet-lint/tasks/puppet-lint'
|
||||
require 'rspec/core/rake_task'
|
||||
|
||||
RSpec::Core::RakeTask.new(:spec) do |t|
|
||||
|
@ -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.
|
||||
#
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
},
|
||||
|
@ -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
|
||||
|
@ -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 %>
|
||||
|
@ -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']
|
||||
},
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user