undercloud on bare metal configures too many workers

Bug #1633544 reported by Alex Schultz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Alex Schultz

Bug Description

When deploying the undercloud on baremetal, the default number of workers is being set to the number of processors which lead to excessive amounts of ram being consumed leading to OOM errors. In Ocata, the upstream puppet modules are being changed to default to a more conservative number of workers but until that lands all previous versions of tripleo default to $::processorcount. We need to lower the default number of workers for the previous versions.

related rhbz#1271329

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to instack-undercloud (master)

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

Changed in tripleo:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to instack-undercloud (master)

Reviewed: https://review.openstack.org/386696
Committed: https://git.openstack.org/cgit/openstack/instack-undercloud/commit/?id=ee5f25a726910961caf72de2c6c55de06c922b74
Submitter: Jenkins
Branch: master

commit ee5f25a726910961caf72de2c6c55de06c922b74
Author: Alex Schultz <email address hidden>
Date: Fri Oct 14 10:43:54 2016 -0600

    Tune number of workers for undercloud

    By default many services use the number of cpus as the default number of
    workers. On baremetal systems this can lead to excessive RAM
    comsumption as this can be 16, 32, 48 or higher for each of the
    services. In the upstream puppet openstack, a fact was created as part
    of the Newton cycle that is the larger value between (number of cpus/4)
    or 2 but is capped at 8. These defaults have not been updated yet in the
    upstream modules and it would be better to specifically call out the
    worker configurations in our puppet-stack-config.yaml template.

    This change updates the worker settings for the classes that are pulled
    in for the undercloud to leverage this tuned fact to lower the overall
    number of workers for all the services. This should improve memory
    consumption and reduce the number of processes running on baremetal
    systems. The os_workers fact will be 2 for unless the cpu count is
    greater than 8 with an incremental increase of 1 worker for every 4
    processors until 32 processors. Anything above 32 processors will still
    result in a worker value of 8.

    This change updates 17 services that currently may use the number of
    processors for the default number of workers.

    Change-Id: I9ed855648e23b0a7e452e6a840a92779fa3f6d48
    Closes-Bug: #1633544

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to instack-undercloud (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/387523

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to instack-undercloud (stable/newton)

Reviewed: https://review.openstack.org/387523
Committed: https://git.openstack.org/cgit/openstack/instack-undercloud/commit/?id=a7c0f152a6f463429aca557684cadf6c51ab06d1
Submitter: Jenkins
Branch: stable/newton

commit a7c0f152a6f463429aca557684cadf6c51ab06d1
Author: Alex Schultz <email address hidden>
Date: Fri Oct 14 10:43:54 2016 -0600

    Tune number of workers for undercloud

    By default many services use the number of cpus as the default number of
    workers. On baremetal systems this can lead to excessive RAM
    comsumption as this can be 16, 32, 48 or higher for each of the
    services. In the upstream puppet openstack, a fact was created as part
    of the Newton cycle that is the larger value between (number of cpus/4)
    or 2 but is capped at 8. These defaults have not been updated yet in the
    upstream modules and it would be better to specifically call out the
    worker configurations in our puppet-stack-config.yaml template.

    This change updates the worker settings for the classes that are pulled
    in for the undercloud to leverage this tuned fact to lower the overall
    number of workers for all the services. This should improve memory
    consumption and reduce the number of processes running on baremetal
    systems. The os_workers fact will be 2 for unless the cpu count is
    greater than 8 with an incremental increase of 1 worker for every 4
    processors until 32 processors. Anything above 32 processors will still
    result in a worker value of 8.

    This change updates 17 services that currently may use the number of
    processors for the default number of workers.

    Change-Id: I9ed855648e23b0a7e452e6a840a92779fa3f6d48
    Closes-Bug: #1633544
    (cherry picked from commit ee5f25a726910961caf72de2c6c55de06c922b74)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/instack-undercloud 5.1.0

This issue was fixed in the openstack/instack-undercloud 5.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/instack-undercloud 6.0.0.0b2

This issue was fixed in the openstack/instack-undercloud 6.0.0.0b2 development milestone.

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.