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 _______________________________________________ OpenStack-Infra mailing list OpenStack-Infra@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra