Go to file
Ian Wienand 349e8db2f7 yum-minimal: pre-install base packages
We were getting some subtle issues in fedora-minimal builds that
turned out to be because /var/run was not a symlink to /run.

Upon further investigation, it turns out that yum is creating a
/var/run directory for it's pid file when it starts working in the
empty chroot (which I verified by stracing it)

---
5905  stat("/home/ubuntu/tmp/dib-tmp/image.Ac4VZZsl/mnt/var/run", 0x7ffddffa0330) = -1 ENOENT (No such file or directory)
5905  mkdir("/home/ubuntu/tmp/dib-tmp/image.Ac4VZZsl/mnt/var/run", 0755) = 0
5905  open("/home/ubuntu/tmp/dib-tmp/image.Ac4VZZsl/mnt/var/run/yum.pid", O_WRONLY|O_CREAT|O_EXCL, 0644) = 6
---

Because this happens *before* we install "filesystem" (the package),
we mess up it's symlinking.

To work-around this, pre-install the trio of base packages (setup,
basesystem, filesystem) with rpm from outside the chroot.

Change-Id: I411b6ec9d91d95d3a0f98e76853086af3b70abe8
2016-02-11 15:42:10 +11:00
bin Merge "Only match #!/bin/bash in scripts" 2016-02-10 08:35:09 +00:00
diskimage_builder Remove outdated translation files 2016-01-31 20:31:29 +01:00
doc/source Move speedup section to image building guide 2016-01-18 07:02:00 +00:00
elements yum-minimal: pre-install base packages 2016-02-11 15:42:10 +11:00
lib Cleanup unmount_dir function 2016-01-28 14:47:43 +11:00
tests Merge "Don't use wc -l for the umount check" 2016-01-29 04:35:28 +00: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
LICENSE Fix copyrights for HP work. 2012-11-15 16:20:32 +13:00
MANIFEST.in Remove old entries from MANIFEST.in 2015-09-02 15:15:13 +10:00
README.rst Make README.rst a bit more generic 2015-09-16 13:52:43 +10:00
requirements.txt Updated from global requirements 2016-01-28 13:19:08 +00:00
setup.cfg Remove deprecated disk-image-get-kernel 2015-07-06 16:44:07 +00:00
setup.py Updated from global requirements 2015-09-22 09:17:08 +00:00
test-requirements.txt Updated from global requirements 2016-01-22 04:03:13 +00:00
tox.ini py26 is no longer supported by Infra's CI 2015-12-26 13:44:33 +05:30

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.