diskimage-builder/elements/no-final-image
Ben Nemec e49d347ba9 Generalize logic for skipping final image generation
Since the ironic-agent element builds the ramdisk and extracts the
kernel itself, there's no need to actually generate an image at the
end of the process.  Previously the unnecessary image was being
deleted, but this wastes a bunch of time compressing and converting
the image.  It's better to just not create the image at all.

This change adds a noop element called no-final-image that
disk-image-create looks for in the element list and, if found, will
cause it to skip the final image generation.  This is more flexible
than the previous ironic-agent-specific method that would have
required changes to disk-image-create for every element that wanted
to behave similarly.

Note that this cannot be done using an environment variable, because
element environments.d entries do not propagate out to
disk-image-create.  It also doesn't make sense as a user option
because it should be set by the element author, not the user.

Change-Id: I168feb18f0d578b3babbe4784d3ef75e755e1ebd
2016-07-28 13:14:36 -05:00
..
README.rst Generalize logic for skipping final image generation 2016-07-28 13:14:36 -05:00

==============
no-final-image
==============

This is a noop element which can be used to indicate to diskimage-builder that
it should not bother creating a final image out of the generated filesystem.
It is useful in cases where an element handles all of the image building
itself, such as ironic-agent or Docker images.  In those cases the final image
normally generated by diskimage-builder is not the desired output, so there's
no reason to spend time creating it.

Elements that wish to behave this way should include this element in their
element-deps file.