[OpenStack-Infra] Announcing Nodepool 0.4.0
James E. Blair
corvus at inaugust.com
Wed Jan 11 21:17:33 UTC 2017
Hi,
In December we released version 0.3.1 of Nodepool which is the last
version that doesn't use ZooKeeper[1].
Today we're releasing 0.4.0 which includes major changes to the image
building component of Nodepool. We have been using this in production
for OpenStack for about a month and have been happy with the
performance. We encourage anyone using Nodepool to begin using this
version now and report any problems.
Here's what you need to know:
* You should install ZooKeeper. We don't currently support SSL or
authenticated access (though we plan to; if you want to help add
support for this, let me know). You should keep that in
mind and place sufficient access controls.
The main nodepool host and any additional hosts used for image
building need to be able to connect to ZooKeeper.
You may run a single node ZooKeeper "cluster" on the nodepool server
itself for a small installation. We do this for OpenStack infra and
it works well. If using a single install you may want to reduce
snapCount to a smaller value (we are using 10000) in order to reduce
recovery time. Larger installations, or ones which wish to take
advantage of ZooKeeper's fault tolerance, may run clusters of 3 or
more machines. We plan to do this in OpenStack infra in the future.
See additional related configuration settings in
http://docs.openstack.org/infra/nodepool/configuration.html
* Previous versions of Nodepool allowed you to run the builder as a
separate process, or you could choose to allow the main Nodepool
daemon to control that process for you. Because that was potentially
confusing (especially considering that typically the image building
and node launching processes are so separate that an operator would
rarely want to stop both at once) we have removed the converged
process option and now only support a separate builder process.
There are two daemons that make up nodepool: nodepoold and
nodepool-builder. Each needs its own init script (or whatever you
want to call it) and must be started independently. You may run one
without the other, and you may colocate them on the same host or on
separate hosts.
The main nodepool daemon (nodepoold) will log a deprecation warning
message if you provide the '--no-builder' option. Please remove it
from your init scripts as it will be removed entirely in a future
version.
* You may run as many nodepool-builder processes as necessary for your
environment. Each process allows you to configure the number of build
threads and upload threads. Due to potential limitations in how some
diskimage-builder elements work, we don't generally recommend running
more than one builder process on a machine (but if you know that will
work for you, the ability is there). Generally, if you want to build
more than one image in parallel, add more builder hosts.
* If you are using our puppet modules to deploy Nodepool, the
openstackci puppet module provides a nodepool_builder class which can
be used to instantiate the builder.
* We have removed support for snapshot based image builds; the only
supported method of image building is using diskimage-builder. We do
plan on adding support for using existing images supplied by the
provider in the not-too-distant future.
If you are currently using the snapshot based approach, please look
into switching to using diskimage-builder. We reliably use it to
build images for many platforms in OpenStack infra. One frequent
use-case for snapshot builds is to take an existing local image and
further customize it. Note that diskimage-builder supports starting
its process with any image, so that workflow can still be easily
achieved. If you need assistance with this, please feel free to ask
on this list or in #openstack-infra and people will be happy to help
with the transition.
* The nodepool builder is now far more agressive about building and
uploading images. If you need to temporarily stop an image build, see
the new 'pause' attribute in
http://docs.openstack.org/infra/nodepool/configuration.html
Thanks to all the folks who have helped work on this release and the
related roll-out in OpenStack infra!
-Jim
[1] http://lists.openstack.org/pipermail/openstack-infra/2016-December/004972.html
More information about the OpenStack-Infra
mailing list