Bug 1372807
| Summary: | Poor default for API workers in Neutron | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Brent Eagles <beagles> |
| Component: | openstack-tripleo-heat-templates | Assignee: | Brent Eagles <beagles> |
| Status: | CLOSED ERRATA | QA Contact: | Alexander Stafeyev <astafeye> |
| Severity: | urgent | Docs Contact: | |
| Priority: | high | ||
| Version: | 10.0 (Newton) | CC: | jschluet, mburns, nyechiel, rhel-osp-director-maint, sasha |
| Target Milestone: | beta | Keywords: | Triaged |
| Target Release: | 10.0 (Newton) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-tripleo-heat-templates-5.0.0-0.20160907212643.90c852e.1.el7ost | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-12-14 15:56:30 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Upstream patch is merged.
def _get_api_workers():
workers = cfg.CONF.api_workers
if workers is None:
workers = processutils.get_worker_count()
return workers
rpm -qa | grep openstack-tripleo-heat
openstack-tripleo-heat-templates-5.0.0-0.20160907212643.90c852e.2.el7ost.noarch
vi /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-api.yaml
.
.
.
NeutronWorkers:
default: ''
description: |
Sets the number of API and RPC workers for the Neutron service. The
default value results in the configuration being left unset and a
system-dependent default will be chosen (usually the number of
processors). Please note that this can result in a large number of
processes and memory consumption on systems with a large core count. On
such systems it is recommended that a non-default value be selected that
matches the load requirements.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHEA-2016-2948.html |
Copied from u/s bug The default value of 0 for the NeutronWorkers results in different behavior in newton than it did in mitaka. In mitaka, neutron checked the api_worker count like so: workers = cfg.CONF.api_workers if not workers: workers = processutils.get_worker_count() Since we default to 0, this has the result of setting it to the number of threads. It is now: def _get_api_workers(): workers = cfg.CONF.api_workers if workers is None: workers = processutils.get_worker_count() return workers Resulting in the value actually being treated as 0. This has a significant impact on performance. This was changed here: https://review.openstack.org/#/c/348801/