Image building tools for OpenStack
Go to file
Ian Wienand 7446c32197 Move diskimage-image-create to an entry point
It has always been a weird thing that dib is a python package, but
is totally driven by the disk-image-create script.  It creates this
strange division that is hard to explain.

This moves disk-image-create to a regular python entry-point

Currently, this simply exec()s the original disk-image-create script.

However, we now have a (private) interface between disk-image-create
written in python and the driver shell script.  Here's some things we
could do, for example:

* Argument parsing is generally nicer in Python, and then end result
  is mostly just setting environment variables to flag different things
  in the shell script.  I could see us moving the argument-parsing into
  diskimage_builder.disk_image_create:main() and just setting things in
  os.environ before the exec()).

* I7092e1845942f249175933d67ab121188f3511fd sets IMAGE_ELEMENT_YAML in
  disk-image-create by calling-back to element-info.  We can just call
  element_dependencies.find_all_elements() in here an export is to
  os.environ before disk-image-create starts.

* remove need for ramdisk-image-create symlink by just exporting
  IS_RAMDISK based on sys.argv[1] value

* you could even unit test some of this :)

Change-Id: I69ca3d26fede0506a6353c077c69f735c8d84d28
2016-11-02 05:12:11 +00:00
bin Move diskimage-image-create to an entry point 2016-11-02 05:12:11 +00:00
diskimage_builder Move diskimage-image-create to an entry point 2016-11-02 05:12:11 +00:00
doc/source Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
elements Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
releasenotes Merge branch 'master' into feature/v2 2016-10-31 11:21:38 -07:00
tests Move diskimage-image-create to an entry point 2016-11-02 05:12:11 +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
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
MANIFEST.in Move diskimage-image-create to an entry point 2016-11-02 05:12:11 +00: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-09-30 19:58:01 +00:00
setup.cfg Move diskimage-image-create to an entry point 2016-11-02 05:12:11 +00:00
setup.py Updated from global requirements 2015-09-22 09:17:08 +00:00
test-requirements.txt Updated from global requirements 2016-09-30 19:58:01 +00:00
tox.ini Refactor: block-device handling (local loop) 2016-09-08 04:31:01 +00: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 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.