diff --git a/manifests/cache.pp b/manifests/cache.pp index d5c43cd..ad0b3b0 100644 --- a/manifests/cache.pp +++ b/manifests/cache.pp @@ -245,11 +245,15 @@ define oslo::cache( if is_service_default($memcache_servers) { $memcache_servers_real = $memcache_servers } else { - $memcache_servers_array = $memcache_servers ? { - String => split($memcache_servers, ','), - default => $memcache_servers + if $backend =~ /\.memcache/ { + $memcache_servers_array = $memcache_servers ? { + String => split($memcache_servers, ','), + default => $memcache_servers + } + $memcache_servers_real = join(any2array(inet6_prefix($memcache_servers_array)), ',') + } else { + $memcache_servers_real = join(any2array($memcache_servers), ',') } - $memcache_servers_real = join(any2array(inet6_prefix($memcache_servers_array)), ',') } if $manage_backend_package { diff --git a/spec/defines/oslo_cache_spec.rb b/spec/defines/oslo_cache_spec.rb index e015f48..a018132 100644 --- a/spec/defines/oslo_cache_spec.rb +++ b/spec/defines/oslo_cache_spec.rb @@ -81,7 +81,7 @@ describe 'oslo::cache' do is_expected.to contain_keystone_config('cache/proxies').with_value('proxy1,proxy2') is_expected.to contain_keystone_config('cache/enabled').with_value('true') is_expected.to contain_keystone_config('cache/debug_cache_backend').with_value('true') - is_expected.to contain_keystone_config('cache/memcache_servers').with_value('host1:11211,host2:11211,inet6:[fd12:3456:789a:1::1]:11211') + is_expected.to contain_keystone_config('cache/memcache_servers').with_value('host1:11211,host2:11211,[fd12:3456:789a:1::1]:11211') is_expected.to contain_keystone_config('cache/memcache_dead_retry').with_value('300') is_expected.to contain_keystone_config('cache/memcache_socket_timeout').with_value('3.0') is_expected.to contain_keystone_config('cache/enable_socket_keepalive').with_value('false') @@ -153,12 +153,14 @@ describe 'oslo::cache' do context 'with memcache backend' do let :params do { - :backend => 'dogpile.cache.memcache', + :backend => 'dogpile.cache.memcache', + :memcache_servers => ['host1:11211', 'host2:11211','[fd12:3456:789a:1::1]:11211'], } end it 'configures cache backend' do is_expected.to contain_keystone_config('cache/backend').with_value('dogpile.cache.memcache') + is_expected.to contain_keystone_config('cache/memcache_servers').with_value('host1:11211,host2:11211,inet6:[fd12:3456:789a:1::1]:11211') is_expected.to contain_package('python-memcache').with( :ensure => 'installed', :name => platform_params[:python_memcache_package_name],