Cap the number of worker threads

Users can configure the number of worker threads however when it's
not specified the calculated number of workers can get too large on
hosts with a large number of CPUs.

Change-Id: I01af5ef83698231137b972b9a6d504d6f99eabaf
This commit is contained in:
Kyle L. Henderson 2017-01-19 12:16:21 -06:00 committed by Jesse Pretorius (odyssey4me)
parent 228158e91b
commit 4d8032ab62
3 changed files with 11 additions and 1 deletions

View File

@ -411,6 +411,10 @@ neutron_quota_vip: 10
# If ``neutron_metadata_workers`` is unset the system will use half the number of available VCPUs to
# compute the number of api workers to use.
# neutron_metadata_workers: 16
## Cap the maximun number of threads / workers when a user value is unspecified.
neutron_api_threads_max: 16
neutron_metadata_backlog: 4096
## Auth

View File

@ -0,0 +1,6 @@
---
features:
- The number of worker threads for neutron will now be capped at 16 unless
a specific value is specified. Previously, the calculated number of workers
could get too high on systems with a large number of processors. This was
particularly evident on POWER systems.

View File

@ -1,6 +1,6 @@
# {{ ansible_managed }}
{% set _api_threads = ansible_processor_vcpus|default(2) // 2 %}
{% set _api_threads = [ansible_processor_vcpus|default(2) // 2, neutron_api_threads_max] | min %}
{% set api_threads = _api_threads if _api_threads > 0 else 1 %}
# General, applies to all host groups