Allow admin and public workers to be configured

* Add 2 new attributes for admin_workers and public_workers
* Add specs

Change-Id: I408463a16782dafc53bead2526c74d59ea4aea40
Closes-Bug: #1353569
This commit is contained in:
Mark Vanderwiel 2014-08-06 11:05:12 -05:00
parent ca7a24b695
commit e0800c226e
5 changed files with 25 additions and 2 deletions

View File

@ -6,6 +6,7 @@ This file is used to list changes made in each version of cookbook-openstack-ide
* Upgrading berkshelf from 2.0.18 to 3.1.5
* Fix the internal endpoint URL by using the InternalURL variable rather than AdminURL
* Sync conf files with Juno
* Allow admin and public workers to be configured
## 9.3.1
* Add support for a templated keystone-paste.ini

View File

@ -246,6 +246,8 @@ Please refer to the Common cookbook for more attributes.
* `openstack['identity']['verbose']` - Enables/disables verbose output for keystone API server
* `openstack['identity']['debug']` - Enables/disables debug output for keystone API server
* `openstack['identity']['admin_token']` - Admin token for bootstraping keystone server
* `openstack['identity']['admin_workers']` - The number of worker processes to serve the admin WSGI application
* `openstack['identity']['public_workers']` - The number of worker processes to serve the public WSGI application
* `openstack['identity']['roles']` - Array of roles to create in the keystone server
* `openstack['identity']['users']` - Array of users to create in the keystone server
* `openstack['identity']['pastefile_url']` - Specify the URL for a keystone-paste.ini file that will override the default packaged file

View File

@ -54,6 +54,10 @@ default['openstack']['identity']['syslog']['use'] = false
default['openstack']['identity']['syslog']['facility'] = 'LOG_LOCAL2'
default['openstack']['identity']['syslog']['config_facility'] = 'local2'
# Number of Workers
default['openstack']['identity']['admin_workers'] = nil
default['openstack']['identity']['public_workers'] = nil
# RPC attributes
default['openstack']['identity']['control_exchange'] = 'openstack'
default['openstack']['identity']['rpc_thread_pool_size'] = 64

View File

@ -368,6 +368,18 @@ describe 'openstack-identity::server' do
expect(resource).to notify('service[keystone]').to(:restart)
end
it 'has default worker values' do
expect(chef_run).not_to render_file(path).with_content(/^admin_workers=/)
expect(chef_run).not_to render_file(path).with_content(/^public_workers=/)
end
it 'has specific worker values' do
node.set['openstack']['identity']['admin_workers'] = 123
node.set['openstack']['identity']['public_workers'] = 456
expect(chef_run).to render_file(path).with_content(/^admin_workers=123$/)
expect(chef_run).to render_file(path).with_content(/^public_workers=456$/)
end
it 'has rpc_backend set for rabbit' do
node.set['openstack']['mq']['service_type'] = 'rabbitmq'
expect(chef_run).to render_file(path).with_content('rpc_backend=rabbit')

View File

@ -69,11 +69,15 @@ admin_endpoint = <%= @admin_endpoint %>
# The number of worker processes to serve the public WSGI
# application (integer value)
#public_workers=1
<% if node["openstack"]["identity"]["public_workers"] %>
public_workers=<%= node["openstack"]["identity"]["public_workers"] %>
<% end %>
# The number of worker processes to serve the admin WSGI
# application (integer value)
#admin_workers=1
<% if node["openstack"]["identity"]["admin_workers"] %>
admin_workers=<%= node["openstack"]["identity"]["admin_workers"] %>
<% end %>
# Enforced by optional sizelimit middleware
# (keystone.middleware:RequestBodySizeLimiter). (integer