7446c32197
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 |
||
---|---|---|
bin | ||
diskimage_builder | ||
doc/source | ||
elements | ||
releasenotes | ||
tests | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
babel.cfg | ||
bindep.txt | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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.