diff --git a/manifests/server.pp b/manifests/server.pp index 6edd55525..78572b92c 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -72,6 +72,11 @@ # (optional) Connection url for the neutron database. # (Defaults to undef) # +# [*memcached_servers*] +# (optinal) a list of memcached server(s) to use for caching. If left +# undefined, tokens will instead be cached in-process. +# Defaults to $::os_service_default. +# # [*sql_connection*] # DEPRECATED: Use database_connection instead. # @@ -355,6 +360,7 @@ class neutron::server ( $ensure_fwaas_package = false, $vpnaas_agent_package = false, $service_providers = $::os_service_default, + $memcached_servers = $::os_service_default, # DEPRECATED PARAMETERS $log_dir = undef, $log_file = undef, @@ -514,6 +520,10 @@ class neutron::server ( } } + neutron_config { + 'keystone_authtoken/memcached_servers': value => join(any2array($memcached_servers), ','); + } + if $auth_password { warning('identity_uri, auth_tenant, auth_user, auth_password, auth_region configuration options are deprecated in favor of auth_plugin and related options') diff --git a/releasenotes/notes/keystone-authtoken-memcached-cf70cebad8b21492.yaml b/releasenotes/notes/keystone-authtoken-memcached-cf70cebad8b21492.yaml new file mode 100644 index 000000000..04bdff9af --- /dev/null +++ b/releasenotes/notes/keystone-authtoken-memcached-cf70cebad8b21492.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Adds the ability to manage the memcached servers for + keystone_authtoken in neutron::server diff --git a/spec/classes/neutron_server_spec.rb b/spec/classes/neutron_server_spec.rb index 3ab7e9bcf..844ab6b0a 100644 --- a/spec/classes/neutron_server_spec.rb +++ b/spec/classes/neutron_server_spec.rb @@ -63,6 +63,7 @@ describe 'neutron::server' do is_expected.to contain_neutron_config('keystone_authtoken/admin_user').with_ensure('absent'); is_expected.to contain_neutron_config('keystone_authtoken/admin_password').with_ensure('absent'); is_expected.to contain_neutron_config('keystone_authtoken/identity_uri').with_ensure('absent'); + is_expected.to contain_neutron_config('keystone_authtoken/memcached_servers').with_value(''); end it 'installs neutron server package' do @@ -356,6 +357,23 @@ describe 'neutron::server' do end end + describe "with keystoneauth memcache servers" do + let :facts do + @default_facts.merge(test_facts.merge({ + :osfamily => 'RedHat', + :operatingsystemrelease => '7' + })) + end + before do + params.merge!({ + :memcached_servers => '1.1.1.1:11211' + }) + end + it 'configures keystone authentication memached servers' do + is_expected.to contain_neutron_config('keystone_authtoken/memcached_servers').with_value('1.1.1.1:11211'); + end + end + describe "with custom auth region" do let :facts do @default_facts.merge(test_facts.merge({