Image building tools for OpenStack
Go to file
Ian Wienand a72645f431 Recreate initramfs within loopback image
dracut has a loop [1] where it probes top-level directories, tries to
find what block device they are on, then determines the file-system of
that block device.  It then puts those file-system modules into the
initramfs for boot.

Since we install the kernel package during the chroot phase, / there
is not a block device and thus this loop matches nothing and we end up
with no file-system modules in the initramfs.  This results in a very
annoying silent boot hang.

By moving re-generation of dracut into finalise.d phase, we run inside
the final image where / is the loop-device; the root file-system gets
detected correctly and the ext4 module is included correctly.

[1] http://git.kernel.org/cgit/boot/dracut/dracut.git/tree/dracut.sh?h=RHEL-7#n1041

Change-Id: Iaf2a1e8470f642bfaaaad3f9b7f26cfc8cc445c9
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-12-15 12:37:00 -05:00
bin Merge "Catch errors in DIB_INIT_SYSTEM export" 2016-12-14 07:14:10 +00:00
diskimage_builder Clear up "already provided" message 2016-07-01 11:53:07 +10:00
doc/source Put MKFS_OPTS after filesystem type 2016-12-09 07:22:38 +11:00
elements Recreate initramfs within loopback image 2016-12-15 12:37:00 -05:00
lib Merge "Improve checksum performance for images" 2016-11-30 05:07:21 +00:00
releasenotes Merge "Perform package install outside of debootstrap" 2016-11-30 05:32:09 +00:00
tests Disable centos6 testing 2016-12-14 11:10:54 +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
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
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
requirements.txt Updated from global requirements 2016-11-09 04:14:55 +00:00
setup.cfg Changed author and author-email 2016-11-29 11:04:52 +07: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 Delete deprecated Hacking in tox.ini 2016-12-04 13:04:50 +08:00

README.rst

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 that are responsible for building disk images. They are also used extensively to build images for testing OpenStack itself, particularly with nodepool. Platforms supported include Ubuntu, CentOS, RHEL and Fedora.

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

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.