[Openstack-operators] [puppet][tripleo][fuel] Upcoming changes to defaults around using processor count for worker configurations

Alex Schultz aschultz at redhat.com
Thu Sep 29 21:57:04 UTC 2016

Hello all,

So for many years we've been using either the service defaults
(usually python determined processor count) or the $processorcount
fact from facter in puppet for worker configuration options for the
OpenStack services.  If you are currently using the default values
provided by the puppet modules, you will be affected by this upcoming
change. After much discussion and feedback from deployers, we've
decided to change this to a default value that has a cap on it.  This
is primarily from the feedback when deploying on physical hardware
where processor counts can be 32, 48 or even 512.  These values can
lead to excessive memory consumption or errors due to connection
limits (mysql/rabbit).  As such we've come up with a new fact to that
will be used instead of $processorcount.

The new fact is called $os_workers[0]. This fact uses the
$processorcount to help weigh in on the number of workers to configure
and won't be less than 2 but is capped at 8.  The $os_workers fact
will use the larger value of either '2' or '# of processors / 4' but
will not exceed 8.  The primary goal of this is to improve the user
experience when people install services using the puppet modules and
without having to tune all of these worker values.  We plan on
implementing this for all modules as part of the Ocata cycle.  This
work will can be tracked using the os_workers-fact[1] gerrit topic.
It should be noted that we have implemented this fact in such a way
that operators are free to override it using an external fact to
provide their own values as well.  If you are currently specifying
your own values for the worker configurations in your manifests then
this change will not affect you.  If you have been relying on the
defaults and wish to continue to use the $processorcount logic, we
would recommend either implementing your own external fact[2] for this
or updating your manifests to provide $::processorcount to the workers

As always we'd love to hear feedback on this and any other issues
people might be facing. We're always available in #puppet-openstack on
freenode or via the mailing lists.


[0] https://review.openstack.org/#/c/375146/
[1] https://review.openstack.org/#/q/topic:os_workers-fact
[2] https://docs.puppet.com/facter/3.4/custom_facts.html#external-facts

More information about the OpenStack-operators mailing list