Go to file
Gregory Haynes 5da7574aee Add get_elements; preserve backwards compat for expand_dependencies
expand_dependencies() was a public interface so we should try and
preserve backwards compat. However, since the interface is really
broken, add a new exported function "get_elements" that instack can
switch to.  This returns the canonical list of elements without
duplicates, and gives the path to each element too.

This highlighted that the unit tests were really a bit wrong.  They're
testing inner functions when we have an "API" in the get_elements()
function.  Convert all unit-tests to use this function instead.  Since
this is a library call, convert the sys.exit() calls to raised
exceptions.

Refactor the variable output into a separate function so we can do a
sanity check on it.

The added flake8 ignores are for the "over-indented for ... indent"
which happens a lot with these new longer lines.  Most other projects
ignore them.

This is an alternative proposal to
I15609389c18adf3017220fc94552514d195b323a

Change-Id: If97bcd21e45de1b5ed91023fdc441a4617051a6b
2016-12-20 08:18:59 +11:00
bin Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-29 07:43:46 +11:00
diskimage_builder Add get_elements; preserve backwards compat for expand_dependencies 2016-12-20 08:18:59 +11:00
doc/source Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-18 13:53:56 +11:00
releasenotes Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-29 07:43:46 +11:00
tests Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-18 13:53:56 +11:00
.gitignore Ignore manifest outputs more carefully. 2014-06-26 04:29:51 +12:00
.gitreview Update stackforge references to openstack 2013-08-17 22:58:26 -04:00
.testr.conf Add unit test for cache-url 2014-09-30 16:39:21 -05:00
babel.cfg Make it possible for openstack-CI to run tests 2013-02-04 22:26:17 -08:00
bindep.txt Add support for bindep.txt 2016-10-23 22:32:40 -04:00
LICENSE Fix copyrights for HP work. 2012-11-15 16:20:32 +13:00
README.rst Make README.rst a bit more generic 2015-09-16 13:52:43 +10:00
requirements.txt Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-18 13:53:56 +11:00
setup.cfg Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-18 13:53:56 +11:00
setup.py Updated from global requirements 2015-09-22 09:17:08 +00:00
test-requirements.txt Updated from global requirements 2016-11-02 15:31:00 +00:00
tox.ini Add get_elements; preserve backwards compat for expand_dependencies 2016-12-20 08:18:59 +11:00

Image building tools for OpenStack
==================================

``diskimage-builder`` is a flexible suite of components for building a
wide-range of disk images, filesystem images and ramdisk images for
use with OpenStack.

This repository has the core functionality for building such images,
both virtual and bare metal.  Images are composed using `elements`;
while fundamental elements are provided here, individual projects have
the flexibility to customise the image build with their own elements.

For example::

  $ DIB_RELEASE=trusty disk-image-create -o ubuntu-trusty.qcow2 vm ubuntu

will create a bootable Ubuntu Trusty based ``qcow2`` image.

``diskimage-builder`` is useful to anyone looking to produce
customised images for deployment into clouds.  These tools are the
components of `TripleO <https://wiki.openstack.org/wiki/TripleO>`__
that are responsible for building disk images.  They are also used
extensively to build images for testing OpenStack itself, particularly
with `nodepool
<http://docs.openstack.org/infra/system-config/nodepool.html>`__.
Platforms supported include Ubuntu, CentOS, RHEL and Fedora.

Full documentation, the source of which is in ``doc/source/``, is
published at:

* http://docs.openstack.org/developer/diskimage-builder/

Copyright
=========

Copyright 2012 Hewlett-Packard Development Company, L.P.
Copyright (c) 2012 NTT DOCOMO, INC.

All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.