Merge "Add parameter memcache_max_connections"

This commit is contained in:
Zuul 2019-11-15 14:51:45 +00:00 committed by Gerrit Code Review
commit 433cd29da3
3 changed files with 51 additions and 27 deletions

View File

@ -4,6 +4,9 @@
# [*memcache_servers*] A list of the memcache servers to be used. Entries # [*memcache_servers*] A list of the memcache servers to be used. Entries
# should be in the form host:port. # should be in the form host:port.
# #
# [*memcache_max_connections*] Sets the maximum number of connections to
# each memcached server per worker
#
# == Dependencies # == Dependencies
# #
# Class['memcached'] # Class['memcached']
@ -19,7 +22,8 @@
# Copyright 2011 Puppetlabs Inc, unless otherwise noted. # Copyright 2011 Puppetlabs Inc, unless otherwise noted.
# #
class swift::proxy::cache( class swift::proxy::cache(
$memcache_servers = ['127.0.0.1:11211'] $memcache_servers = ['127.0.0.1:11211'],
$memcache_max_connections = '2'
) { ) {
include ::swift::deps include ::swift::deps
@ -30,8 +34,9 @@ class swift::proxy::cache(
} }
swift_proxy_config { swift_proxy_config {
'filter:cache/use': value => 'egg:swift#memcache'; 'filter:cache/use': value => 'egg:swift#memcache';
'filter:cache/memcache_servers': value => join(any2array($memcache_servers), ','); 'filter:cache/memcache_servers': value => join(any2array($memcache_servers), ',');
'filter:cache/memcache_max_connections': value => $memcache_max_connections;
} }
} }

View File

@ -0,0 +1,6 @@
---
features:
- |
Added new parameter memcache_max_connections to proxy::cache class that
can be used to configure the maximum number of connections to each
memcached server per worker.

View File

@ -2,19 +2,6 @@ require 'spec_helper'
describe 'swift::proxy::cache' do describe 'swift::proxy::cache' do
shared_examples 'swift::proxy::cache' do shared_examples 'swift::proxy::cache' do
describe 'with defaults' do
let :pre_condition do
'class { "memcached": max_memory => 1 }'
end
it 'should have the required classes' do
is_expected.to contain_class('swift::deps')
is_expected.to contain_class('swift::proxy::cache')
end
it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') }
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_servers').with_value('127.0.0.1:11211') }
end
describe 'without memcached being included' do describe 'without memcached being included' do
it 'should raise an error' do it 'should raise an error' do
@ -22,22 +9,48 @@ describe 'swift::proxy::cache' do
end end
end end
describe 'with overridden memcache server' do describe 'with memcached dependency' do
let :params do let :pre_condition do
{:memcache_servers => '10.0.0.1:1'} 'class { "memcached": max_memory => 1 }'
end end
it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') } describe 'with defaults' do
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_servers').with_value('10.0.0.1:1') } it 'should have the required classes' do
end is_expected.to contain_class('swift::deps')
is_expected.to contain_class('swift::proxy::cache')
end
describe 'with overridden memcache server array' do it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') }
let :params do it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_servers').with_value('127.0.0.1:11211') }
{:memcache_servers => ['10.0.0.1:1', '10.0.0.2:2']} it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_max_connections').with_value(2) }
end end
it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') } describe 'with overridden memcache server' do
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_servers').with_value('10.0.0.1:1,10.0.0.2:2') } let :params do
{:memcache_servers => '10.0.0.1:1'}
end
it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') }
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_servers').with_value('10.0.0.1:1') }
end
describe 'with overridden memcache server array' do
let :params do
{:memcache_servers => ['10.0.0.1:1', '10.0.0.2:2']}
end
it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') }
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_servers').with_value('10.0.0.1:1,10.0.0.2:2') }
end
describe 'with overridden memcache max connections' do
let :params do
{:memcache_max_connections => 4}
end
it { is_expected.to contain_swift_proxy_config('filter:cache/use').with_value('egg:swift#memcache') }
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_max_connections').with_value(4) }
end
end end
end end