From 8790f250f04dd8ba8cd7785a8b5462508b5d2afb Mon Sep 17 00:00:00 2001 From: Maksym Yatsenko Date: Fri, 7 Oct 2016 14:55:23 +0300 Subject: [PATCH] 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: Ieb69b5a6a50d37b0a49a8c9e57275673d60b5f10 --- manifests/api.pp | 8 ++++---- .../os_workers_for_worker_count-46575cd2d0872cff.yaml | 5 +++++ spec/classes/nova_api_spec.rb | 2 +- spec/classes/nova_compute_ironic_spec.rb | 1 - spec/classes/nova_db_postgresql_api_spec.rb | 2 +- spec/classes/nova_db_postgresql_spec.rb | 2 +- spec/classes/nova_db_sync_api_spec.rb | 4 +++- spec/classes/nova_db_sync_spec.rb | 2 +- 8 files changed, 16 insertions(+), 10 deletions(-) create mode 100644 releasenotes/notes/os_workers_for_worker_count-46575cd2d0872cff.yaml diff --git a/manifests/api.pp b/manifests/api.pp index 03979d876..db5bc800b 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -43,7 +43,7 @@ # # [*osapi_compute_workers*] # (optional) Number of workers for OpenStack API service -# Defaults to $::processorcount +# Defaults to $::os_workers # # [*osapi_compute_listen_port*] # (optional) The port on which the OpenStack API will listen. @@ -51,7 +51,7 @@ # # [*metadata_workers*] # (optional) Number of workers for metadata service -# Defaults to $::processorcount +# Defaults to $::os_workers # # [*instance_name_template*] # (optional) Template string to be used to generate instance names @@ -247,8 +247,8 @@ class nova::api( $metadata_listen_port = 8775, $enabled_apis = ['osapi_compute', 'metadata'], $use_forwarded_for = false, - $osapi_compute_workers = $::processorcount, - $metadata_workers = $::processorcount, + $osapi_compute_workers = $::os_workers, + $metadata_workers = $::os_workers, $sync_db = true, $sync_db_api = true, $db_online_data_migrations = false, diff --git a/releasenotes/notes/os_workers_for_worker_count-46575cd2d0872cff.yaml b/releasenotes/notes/os_workers_for_worker_count-46575cd2d0872cff.yaml new file mode 100644 index 000000000..5616f0d7e --- /dev/null +++ b/releasenotes/notes/os_workers_for_worker_count-46575cd2d0872cff.yaml @@ -0,0 +1,5 @@ +--- +other: + - Parameters that control the number of spawned child processes for + distributing processing have had their default value changed from + ::processorcount to ::os_workers. diff --git a/spec/classes/nova_api_spec.rb b/spec/classes/nova_api_spec.rb index 29d45a03c..715a67023 100644 --- a/spec/classes/nova_api_spec.rb +++ b/spec/classes/nova_api_spec.rb @@ -347,7 +347,7 @@ describe 'nova::api' do }).each do |os,facts| context "on #{os}" do let (:facts) do - facts.merge!(OSDefaults.get_facts({ :processorcount => 5 })) + facts.merge!(OSDefaults.get_facts({ :os_workers => 5 })) end let (:platform_params) do diff --git a/spec/classes/nova_compute_ironic_spec.rb b/spec/classes/nova_compute_ironic_spec.rb index 1d56dc54e..df028f7ea 100644 --- a/spec/classes/nova_compute_ironic_spec.rb +++ b/spec/classes/nova_compute_ironic_spec.rb @@ -39,7 +39,6 @@ describe 'nova::compute::ironic' do let (:facts) do facts.merge!(OSDefaults.get_facts({ :fqdn => 'some.host.tld', - :processorcount => 2, :concat_basedir => '/var/lib/puppet/concat' })) end diff --git a/spec/classes/nova_db_postgresql_api_spec.rb b/spec/classes/nova_db_postgresql_api_spec.rb index 730b35c4c..25c47e733 100644 --- a/spec/classes/nova_db_postgresql_api_spec.rb +++ b/spec/classes/nova_db_postgresql_api_spec.rb @@ -30,7 +30,7 @@ describe 'nova::db::postgresql_api' do context "on #{os}" do let (:facts) do facts.merge(OSDefaults.get_facts({ - :processorcount => 8, + :os_workers => 8, :concat_basedir => '/var/lib/puppet/concat' })) end diff --git a/spec/classes/nova_db_postgresql_spec.rb b/spec/classes/nova_db_postgresql_spec.rb index 30f8f2207..3a08b1daf 100644 --- a/spec/classes/nova_db_postgresql_spec.rb +++ b/spec/classes/nova_db_postgresql_spec.rb @@ -30,7 +30,7 @@ describe 'nova::db::postgresql' do context "on #{os}" do let (:facts) do facts.merge(OSDefaults.get_facts({ - :processorcount => 8, + :os_workers => 8, :concat_basedir => '/var/lib/puppet/concat' })) end diff --git a/spec/classes/nova_db_sync_api_spec.rb b/spec/classes/nova_db_sync_api_spec.rb index e489e646b..3dfd80137 100644 --- a/spec/classes/nova_db_sync_api_spec.rb +++ b/spec/classes/nova_db_sync_api_spec.rb @@ -73,7 +73,9 @@ describe 'nova::db::sync_api' do }).each do |os,facts| context "on #{os}" do let (:facts) do - facts.merge(OSDefaults.get_facts()) + facts.merge(OSDefaults.get_facts({ + :os_workers => 8, + })) end it_configures 'nova-dbsync-api' diff --git a/spec/classes/nova_db_sync_spec.rb b/spec/classes/nova_db_sync_spec.rb index f070b8233..72b3cb26f 100644 --- a/spec/classes/nova_db_sync_spec.rb +++ b/spec/classes/nova_db_sync_spec.rb @@ -77,7 +77,7 @@ describe 'nova::db::sync' do context "on #{os}" do let (:facts) do facts.merge(OSDefaults.get_facts({ - :processorcount => 8, + :os_workers => 8, :concat_basedir => '/var/lib/puppet/concat' })) end