Allow misc options for keystone.conf

Add support like alreayd exists for openrc and nove.conf.
Add tests.

Change-Id: Ife666ca0fec484deb379d034b4dc1bea8fc1f985
Closes-Bug: #1318822
This commit is contained in:
Mark Vanderwiel
2014-05-12 16:21:50 -05:00
parent 4ccd865d37
commit f9aaa9aab6
6 changed files with 26 additions and 2 deletions

View File

@@ -1,6 +1,8 @@
# CHANGELOG for cookbook-openstack-identity
This file is used to list changes made in each version of cookbook-openstack-identity.
## 9.2.0
* Add support for miscellaneous options (like in Compute)
## 9.1.1
* Fix package action to allow updates

View File

@@ -65,6 +65,7 @@ Register users, tenants, roles, services and endpoints with Keystone
- api_ver: API Version for Keystone server
- Accepted values are [ "/v2.0" ]
- auth_token: Auth Token for communication with Keystone server
- misc_keystone: Array of strings to be added to the keystone.conf file
### :create_tenant Specific Attributes
@@ -257,6 +258,7 @@ TODO: Add DB2 support on other platforms
* `openstack['identity']["rpc_thread_pool_size"]` - Size of RPC thread pool
* `openstack['identity']["rpc_conn_pool_size"]` - Size of RPC connection pool
* `openstack['identity']["rpc_response_timeout"]` - Seconds to wait for a response from call or multicall
* `openstack['identity']["misc_keystone"]` - Array of strings to be added to keystone.conf
The following attributes are defined in attributes/default.rb of the common cookbook, but are documented here due to their relevance:

View File

@@ -173,6 +173,11 @@ default['openstack']['identity']['token_flush_cron']['minute'] = '0'
default['openstack']['identity']['token_flush_cron']['day'] = '*'
default['openstack']['identity']['token_flush_cron']['weekday'] = '*'
# Misc option support
# Allow additional strings to be added to keystone.conf
# For example: ['# Comment', 'key=value']
default['openstack']['identity']['misc_keystone'] = []
# platform defaults
case platform_family
when 'fedora', 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this

View File

@@ -4,7 +4,7 @@ maintainer_email 'matt@opscode.com'
license 'Apache 2.0'
description 'The OpenStack Identity service Keystone.'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '9.1.1'
version '9.2.0'
recipe 'openstack-identity::client', 'Install packages required for keystone client'
recipe 'openstack-identity::server', 'Installs and Configures Keystone Service'

View File

@@ -356,6 +356,14 @@ describe 'openstack-identity::server' do
end
end
it 'templates misc_keystone array correctly' do
node.set['openstack']['identity']['misc_keystone'] = ['MISC1=OPTION1', 'MISC2=OPTION2']
expect(chef_run).to render_file(path).with_content(
/^MISC1=OPTION1$/)
expect(chef_run).to render_file(path).with_content(
/^MISC2=OPTION2$/)
end
it 'notifies keystone restart' do
expect(resource).to notify('service[keystone]').to(:restart)
end

View File

@@ -23,6 +23,13 @@ rpc_conn_pool_size=<%= node["openstack"]["identity"]["rpc_conn_pool_size"] %>
rpc_response_timeout=<%= node["openstack"]["identity"]["rpc_response_timeout"] %>
rpc_backend=<%= node["openstack"]["identity"]["rpc_backend"] %>
# Misc options
<% if node["openstack"]["identity"]["misc_keystone"] %>
<% node["openstack"]["identity"]["misc_keystone"].each do |m| %>
<%= m %>
<% end %>
<% end %>
<% if @memcache_servers -%>
[memcache]
servers = <%= @memcache_servers %>