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:
@@ -39,7 +39,7 @@
|
|||||||
# [*ec2api_workers*]
|
# [*ec2api_workers*]
|
||||||
# Number of workers for EC2 API service.
|
# Number of workers for EC2 API service.
|
||||||
# The default will be equal to the number of CPUs available.
|
# The default will be equal to the number of CPUs available.
|
||||||
# Default: $::os_service_default
|
# Default: $::os_workers
|
||||||
#
|
#
|
||||||
# [*service_down_time*]
|
# [*service_down_time*]
|
||||||
# Maximum time since last check-in for up service.
|
# Maximum time since last check-in for up service.
|
||||||
@@ -233,7 +233,7 @@ class ec2api::api (
|
|||||||
$ec2api_listen = $::os_service_default,
|
$ec2api_listen = $::os_service_default,
|
||||||
$ec2api_listen_port = $::os_service_default,
|
$ec2api_listen_port = $::os_service_default,
|
||||||
$ec2api_use_ssl = $::os_service_default,
|
$ec2api_use_ssl = $::os_service_default,
|
||||||
$ec2api_workers = $::os_service_default,
|
$ec2api_workers = $::os_workers,
|
||||||
$service_down_time = $::os_service_default,
|
$service_down_time = $::os_service_default,
|
||||||
# WSGI
|
# WSGI
|
||||||
$api_paste_config = $::os_service_default,
|
$api_paste_config = $::os_service_default,
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
# [*metadata_workers*]
|
# [*metadata_workers*]
|
||||||
# Number of workers for metadata service.
|
# Number of workers for metadata service.
|
||||||
# The default will be the number of CPUs available.
|
# The default will be the number of CPUs available.
|
||||||
# Default: $::os_service_default
|
# Default: $::os_workers
|
||||||
#
|
#
|
||||||
# ==== Manage Service
|
# ==== Manage Service
|
||||||
#
|
#
|
||||||
@@ -85,7 +85,7 @@ class ec2api::metadata (
|
|||||||
$metadata_listen = $::os_service_default,
|
$metadata_listen = $::os_service_default,
|
||||||
$metadata_listen_port = $::os_service_default,
|
$metadata_listen_port = $::os_service_default,
|
||||||
$metadata_use_ssl = $::os_service_default,
|
$metadata_use_ssl = $::os_service_default,
|
||||||
$metadata_workers = $::os_service_default,
|
$metadata_workers = $::os_workers,
|
||||||
# Manage service
|
# Manage service
|
||||||
$manage_service = true,
|
$manage_service = true,
|
||||||
$service_name = $::ec2api::params::metadata_service_name,
|
$service_name = $::ec2api::params::metadata_service_name,
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ describe 'ec2api::api', type: :class do
|
|||||||
DEFAULT/ec2api_listen
|
DEFAULT/ec2api_listen
|
||||||
DEFAULT/ec2api_listen_port
|
DEFAULT/ec2api_listen_port
|
||||||
DEFAULT/ec2api_use_ssl
|
DEFAULT/ec2api_use_ssl
|
||||||
DEFAULT/ec2api_workers
|
|
||||||
DEFAULT/service_down_time
|
DEFAULT/service_down_time
|
||||||
DEFAULT/api_paste_config
|
DEFAULT/api_paste_config
|
||||||
DEFAULT/ssl_cert_file
|
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>') }
|
it { is_expected.to contain_ec2api_config(item).with_value('<SERVICE DEFAULT>') }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'configures workers using os_workers' do
|
||||||
|
is_expected.to contain_ec2api_config('DEFAULT/ec2api_workers').with_value(2)
|
||||||
|
end
|
||||||
|
|
||||||
service_parameters = {
|
service_parameters = {
|
||||||
ensure: 'running',
|
ensure: 'running',
|
||||||
enable: true,
|
enable: true,
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ describe 'ec2api::metadata', type: :class do
|
|||||||
DEFAULT/metadata_listen
|
DEFAULT/metadata_listen
|
||||||
DEFAULT/metadata_listen_port
|
DEFAULT/metadata_listen_port
|
||||||
DEFAULT/metadata_use_ssl
|
DEFAULT/metadata_use_ssl
|
||||||
DEFAULT/metadata_workers
|
|
||||||
)
|
)
|
||||||
|
|
||||||
context 'with default parameters' do
|
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>') }
|
it { is_expected.to contain_ec2api_config(item).with_value('<SERVICE DEFAULT>') }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'configures workers using os_workers' do
|
||||||
|
is_expected.to contain_ec2api_config('DEFAULT/metadata_workers').with_value(2)
|
||||||
|
end
|
||||||
|
|
||||||
service_parameters = {
|
service_parameters = {
|
||||||
ensure: 'running',
|
ensure: 'running',
|
||||||
enable: true,
|
enable: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user