Change worker defaults to ::os_workers

This patch changes the default worker count from ::processorcount to the
new ::os_workers fact. ::os_workers is based on the number of processors
(currently cpu/4) but is capped at a maximum of 8 worker processors.
This is a much more reasonable default in general and prevents excessive
resource consumption on systems with a large number of CPUs.

Change-Id: I150ddc7e18640881ac68cd82bb8393151c6b3e73
This commit is contained in:
Alex Schultz
2016-10-13 16:53:57 -06:00
parent 7344155a5b
commit 327033ac20
4 changed files with 12 additions and 6 deletions

View File

@@ -39,7 +39,7 @@
# [*ec2api_workers*]
# Number of workers for EC2 API service.
# The default will be equal to the number of CPUs available.
# Default: $::os_service_default
# Default: $::os_workers
#
# [*service_down_time*]
# Maximum time since last check-in for up service.
@@ -233,7 +233,7 @@ class ec2api::api (
$ec2api_listen = $::os_service_default,
$ec2api_listen_port = $::os_service_default,
$ec2api_use_ssl = $::os_service_default,
$ec2api_workers = $::os_service_default,
$ec2api_workers = $::os_workers,
$service_down_time = $::os_service_default,
# WSGI
$api_paste_config = $::os_service_default,

View File

@@ -55,7 +55,7 @@
# [*metadata_workers*]
# Number of workers for metadata service.
# The default will be the number of CPUs available.
# Default: $::os_service_default
# Default: $::os_workers
#
# ==== Manage Service
#
@@ -85,7 +85,7 @@ class ec2api::metadata (
$metadata_listen = $::os_service_default,
$metadata_listen_port = $::os_service_default,
$metadata_use_ssl = $::os_service_default,
$metadata_workers = $::os_service_default,
$metadata_workers = $::os_workers,
# Manage service
$manage_service = true,
$service_name = $::ec2api::params::metadata_service_name,

View File

@@ -14,7 +14,6 @@ describe 'ec2api::api', type: :class do
DEFAULT/ec2api_listen
DEFAULT/ec2api_listen_port
DEFAULT/ec2api_use_ssl
DEFAULT/ec2api_workers
DEFAULT/service_down_time
DEFAULT/api_paste_config
DEFAULT/ssl_cert_file
@@ -62,6 +61,10 @@ describe 'ec2api::api', type: :class do
it { is_expected.to contain_ec2api_config(item).with_value('<SERVICE DEFAULT>') }
end
it 'configures workers using os_workers' do
is_expected.to contain_ec2api_config('DEFAULT/ec2api_workers').with_value(2)
end
service_parameters = {
ensure: 'running',
enable: true,

View File

@@ -18,7 +18,6 @@ describe 'ec2api::metadata', type: :class do
DEFAULT/metadata_listen
DEFAULT/metadata_listen_port
DEFAULT/metadata_use_ssl
DEFAULT/metadata_workers
)
context 'with default parameters' do
@@ -32,6 +31,10 @@ describe 'ec2api::metadata', type: :class do
it { is_expected.to contain_ec2api_config(item).with_value('<SERVICE DEFAULT>') }
end
it 'configures workers using os_workers' do
is_expected.to contain_ec2api_config('DEFAULT/metadata_workers').with_value(2)
end
service_parameters = {
ensure: 'running',
enable: true,