[OpenStack-Infra] Infra priorities and spec cleanup

James E. Blair corvus at inaugust.com
Mon Jun 6 22:51:41 UTC 2016


Antoine Musso <hashar at free.fr> writes:

> On 06/06/16 01:21, Jeremy Stanley wrote:
>> Use Diskimage Builder in Nodepool
>> ---------------------------------
>>
>> http://specs.openstack.org/openstack-infra/infra-specs/specs/dib-nodepool.html
>>
>> As I understand it, this is complete except for TripleO's images
>> (yes, irony since DIB is itself a TripleO team project). We'd like
>> to be able to deprecate and eventually remove snapshot support in
>> nodepool, so I think this stays on the priority list until TripleO
>> is no longer an issue (fixed or switched to being a third-party CI
>> system).
>
> Hello,
>
> Sorry if I come late in the party, I rely on Nodepool snapshot feature
> to polish up images. I have even hit a wall recently attempting to use
> puppet to provision a service that can not always be done in a chroot
> or be to slow to do at instance boot time.
>
>
> If I understand the spec properly, snapshotting would no more be
> needed to have a proper image, but you might still want to keep it to
> polish it up in the context of the image (ie within an instance).  If
> that is heavy enough, it is lighter to do it once in a snapshot than
> on each instance booting.

With DIB caching, it is generally fairly fast to rebuild a similar image
with 'refreshed' data -- we rely on that for having images with
up-to-date caches of data to keep our runtime short as well.

However, if there truly are images that are not possible to build in
DIB, that is unfortunate.  It looks like in this case, the issue is that
DIB is running puppet which is configured to cause services to start.  I
am not certain that puppet is the best choice for this -- in fact, we
are working to remove puppet from our DIB builds.  But if using puppet
nevertheless, I do think it's a different thing to use puppet to build
an image versus maintaining a server.

A recent spec[1] to separate out image build workers from the main
process described how it should be abstracted so that multiple image
building implementations can co-exist (but in separate processes to keep
things simpler).  There was an optional section about creating a
snapshot build worker, but it has not been implemented.

If folks are interested in continuing support for snapshot images, I
think they could do so using that framework, but so far there has not
been much interest.  We have based quite a bit of development work on
the premise that using DIB is the best way to create images for
nodepool.  I would greatly prefer to reduce the enormous amount of
complexity in nodepool that currently comes from these two methods
cohabiting.

[1] http://specs.openstack.org/openstack-infra/infra-specs/specs/nodepool-workers.html

-Jim



More information about the OpenStack-Infra mailing list