Merge "loadbalancer: Adapt number of process of Haproxy"

This commit is contained in:
Jenkins
2015-05-11 15:25:45 +00:00
committed by Gerrit Code Review
2 changed files with 45 additions and 1 deletions

View File

@@ -241,6 +241,10 @@
# (optional) The HTTP sytle basic credentials (using login:password form) # (optional) The HTTP sytle basic credentials (using login:password form)
# Defaults to 'admin:changeme' # Defaults to 'admin:changeme'
# #
# [*haproxy_options*]
# (optional) The haproxy global options
# Defaults to {}
#
# [*keepalived_state*] # [*keepalived_state*]
# (optional) TODO # (optional) TODO
# Defaults to 'BACKUP' # Defaults to 'BACKUP'
@@ -543,6 +547,7 @@ class cloud::loadbalancer(
$sensu_api = true, $sensu_api = true,
$redis = true, $redis = true,
$haproxy_auth = 'admin:changeme', $haproxy_auth = 'admin:changeme',
$haproxy_options = {},
$keepalived_state = 'BACKUP', $keepalived_state = 'BACKUP',
$keepalived_priority = '50', $keepalived_priority = '50',
$keepalived_vrrp_interface = false, $keepalived_vrrp_interface = false,
@@ -642,10 +647,24 @@ class cloud::loadbalancer(
fail('galera_ip should be part of keepalived_public_ipvs or keepalived_internal_ipvs.') fail('galera_ip should be part of keepalived_public_ipvs or keepalived_internal_ipvs.')
} }
# TODO : Use global_options in puppetlabs-haproxy as merge in params.pp
$haproxy_default_options = {
'log' => "${::ipaddress} local0",
'chroot' => '/var/lib/haproxy',
'pidfile' => '/var/run/haproxy.pid',
'maxconn' => '4000',
'user' => 'haproxy',
'group' => 'haproxy',
'daemon' => '',
'stats' => 'socket /var/lib/haproxy/stats',
'nbproc' => $::processorcount
}
$haproxy_global_options = merge($haproxy_default_options,$haproxy_options)
# Ensure Keepalived is started before HAproxy to avoid binding errors. # Ensure Keepalived is started before HAproxy to avoid binding errors.
class { 'keepalived': } -> class { 'keepalived': } ->
class { 'haproxy': class { 'haproxy':
service_manage => true service_manage => true,
global_options => $haproxy_global_options
} }
keepalived::vrrp_script { 'haproxy': keepalived::vrrp_script { 'haproxy':

View File

@@ -110,6 +110,31 @@ describe 'cloud::loadbalancer' do
is_expected.not_to contain_keepalived__instance('2') is_expected.not_to contain_keepalived__instance('2')
end end
context 'with 4 processors' do
before :each do
facts.merge!(
:processorcount => '4',
:ipaddress => '10.10.0.1'
)
end
it 'configure haproxy server' do
is_expected.to contain_class('haproxy').with(
:service_manage => true,
:global_options => {
'log' => '10.10.0.1 local0',
'chroot' => '/var/lib/haproxy',
'pidfile' => '/var/run/haproxy.pid',
'maxconn' => '4000',
'user' => 'haproxy',
'group' => 'haproxy',
'daemon' => '',
'stats' => 'socket /var/lib/haproxy/stats',
'nbproc' => '4'
}
)
end
end # configure haproxy server
context 'configure an internal VIP with the same VIP as public network' do context 'configure an internal VIP with the same VIP as public network' do
before do before do
params.merge!(:keepalived_internal_ipvs => ['10.0.0.1', '10.0.0.2']) params.merge!(:keepalived_internal_ipvs => ['10.0.0.1', '10.0.0.2'])