Poor default for API workers in Neutron

Bug #1619383 reported by Brent Eagles
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Critical
Brent Eagles

Bug Description

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/

Revision history for this message
Brent Eagles (beagles) wrote :

Should read "this has the result of setting it to the number of processors"

Changed in tripleo:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Brent Eagles (beagles)
milestone: none → newton-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.openstack.org/364483

Changed in tripleo:
status: Confirmed → In Progress
Revision history for this message
Brent Eagles (beagles) wrote :

Upping to critical. Some perf testing has illustrated that API performance takes a huge hit.

Changed in tripleo:
importance: High → Critical
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/364483
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=959e87238877fa03707ac624429e673f14ca0c2a
Submitter: Jenkins
Branch: master

commit 959e87238877fa03707ac624429e673f14ca0c2a
Author: Brent Eagles <email address hidden>
Date: Thu Sep 1 14:58:59 2016 -0230

    Change NeutronWorkers default to result in previous behavior

    Neutron's behavior changed in Newton with respect to the default value
    of 0 for NeutronWorkers. Instead of effectively treating it as
    "processorcount", it now assumes we mean what we say and doesn't spawn
    any workers, resulting in only a single process for handling API
    requests. This change alters the default value to regain the previous
    behavior.

    This change also extends the worker count to the RPC worker setting -
    which was possibly an oversight in previous releases. The default
    behavior will have no result for most systems.

    Closes-Bug: 1619383

    Change-Id: Id6e3ee544160372c806905e77348150a1a1eec1b

Changed in tripleo:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.