Browse Source

Merge "Add parameter memcache_max_connections"

changes/35/695035/1
Zuul 3 weeks ago
parent
commit
433cd29da3
3 changed files with 50 additions and 26 deletions
  1. +8
    -3
      manifests/proxy/cache.pp
  2. +6
    -0
      releasenotes/notes/swift-memcache-max-connections-50876054c14dbdd5.yaml
  3. +36
    -23
      spec/classes/swift_proxy_cache_spec.rb

+ 8
- 3
manifests/proxy/cache.pp View File

@@ -4,6 +4,9 @@
# [*memcache_servers*] A list of the memcache servers to be used. Entries
# should be in the form host:port.
#
# [*memcache_max_connections*] Sets the maximum number of connections to
# each memcached server per worker
#
# == Dependencies
#
# Class['memcached']
@@ -19,7 +22,8 @@
# Copyright 2011 Puppetlabs Inc, unless otherwise noted.
#
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
@@ -30,8 +34,9 @@ class swift::proxy::cache(
}

swift_proxy_config {
'filter:cache/use': value => 'egg:swift#memcache';
'filter:cache/memcache_servers': value => join(any2array($memcache_servers), ',');
'filter:cache/use': value => 'egg:swift#memcache';
'filter:cache/memcache_servers': value => join(any2array($memcache_servers), ',');
'filter:cache/memcache_max_connections': value => $memcache_max_connections;
}

}

+ 6
- 0
releasenotes/notes/swift-memcache-max-connections-50876054c14dbdd5.yaml 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.

+ 36
- 23
spec/classes/swift_proxy_cache_spec.rb View File

@@ -2,42 +2,55 @@ require 'spec_helper'

describe 'swift::proxy::cache' do
shared_examples 'swift::proxy::cache' do
describe 'with defaults' do

describe 'without memcached being included' do
it 'should raise an error' do
expect { catalogue }.to raise_error(Puppet::Error)
end
end

describe 'with memcached dependency' 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')
describe 'with defaults' do
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') }
it { is_expected.to contain_swift_proxy_config('filter:cache/memcache_max_connections').with_value(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('127.0.0.1:11211') }
end
describe 'with overridden memcache server' do
let :params do
{:memcache_servers => '10.0.0.1:1'}
end

describe 'without memcached being included' do
it 'should raise an error' do
expect { catalogue }.to raise_error(Puppet::Error)
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
end

describe 'with overridden memcache server' do
let :params do
{:memcache_servers => '10.0.0.1:1'}
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

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 max connections' do
let :params do
{:memcache_max_connections => 4}
end

describe 'with overridden memcache server array' do
let :params do
{:memcache_servers => ['10.0.0.1:1', '10.0.0.2:2']}
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

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
end


Loading…
Cancel
Save