From 37097b2328e4a54006778f66cad5ddc2a2050650 Mon Sep 17 00:00:00 2001 From: Andrew Spiers Date: Thu, 14 Jan 2016 16:44:44 +1100 Subject: [PATCH] Make keystone memcached servers configurable Like other openstack services, designate can use memcached to cache keystone tokens. Change-Id: I0b21ae47aee0b94ab672610be23d4bafde3c1d68 --- manifests/api.pp | 12 ++++++++++++ spec/classes/designate_api_spec.rb | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/manifests/api.pp b/manifests/api.pp index c0ea49db..0ee187f7 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -48,6 +48,11 @@ # (optional) Password used to authentication. # Defaults to false # +# [*keystone_memcached_servers*] +# (optional) Memcached Servers for keystone. Supply a list of memcached server +# IP's:Memcached Port. +# Defaults to false +# # [*enable_api_v1*] # (optional) Enable Designate API Version 1 # Defaults to true @@ -68,6 +73,7 @@ class designate::api ( $keystone_tenant = 'services', $keystone_user = 'designate', $keystone_password = false, + $keystone_memcached_servers = false, $enable_api_v1 = true, $enable_api_v2 = false, ) inherits designate { @@ -81,6 +87,12 @@ class designate::api ( } # Keystone Middleware + if $keystone_memcached_servers { + designate_config { 'keystone_authtoken/memcached_servers' : value => join(any2array($keystone_memcached_servers), ',') } + } else { + designate_config { 'keystone_authtoken/memcached_servers' : ensure => absent, } + } + designate_config { 'keystone_authtoken/auth_host' : value => $keystone_host; 'keystone_authtoken/auth_port' : value => $keystone_port; diff --git a/spec/classes/designate_api_spec.rb b/spec/classes/designate_api_spec.rb index 0cb87b04..b42b9686 100644 --- a/spec/classes/designate_api_spec.rb +++ b/spec/classes/designate_api_spec.rb @@ -50,6 +50,13 @@ describe 'designate::api' do is_expected.to contain_designate_config('service:api/auth_strategy').with_value('keystone') end end + + context 'when using memcached with keystone auth' do + before { params.merge!(:keystone_memcached_servers => [ '127.0.0.1:11211', '127.0.0.1:11212' ]) } + it 'configures designate-api with keystone memcached servers' do + is_expected.to contain_designate_config('keystone_authtoken/memcached_servers').with_value('127.0.0.1:11211,127.0.0.1:11212') + end + end end end