[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