Go to file
Ian Wienand b71d1c60d2 package-installs : allow a list of parameters
The change Ia6f10741fa6be24b11d6991c8a6b6e07951ff68d introduced having
"when:" as a list of values.  However, this was actually not
sufficient to express the logic required for arm64/x86_64/xenial
kernel matching we wanted.

Because the package name is a key, we can't have multiple entires in
the package-map YAML files.  This means we can't do more advanced
matching and thus we need to be able to match through multiple
parameters.  Similar to Ia6f10741fa6be24b11d6991c8a6b6e07951ff68d we
modify the matching rules to allow a list.

A an example of using this is provided in the README.rst, and this
same example worked through by the unit tests.

This also slightly updates the matching logic to be more sequential.
After each check we either continue on or log the failure and continue
to the next check (rather than set a list of flags then check that at
the end).  This makes it much easier to understand what is being
matched in the logging output from the tool.

Change-Id: Idff7b067ad4255e6fc4138f7eff313a81b75c8ba
2020-05-27 06:17:57 +10:00
.zuul.d ubuntu-minimal: Add Ubuntu Focal test build 2020-05-21 14:03:54 +10:00
bin dib-lint: use yamllint to parse YAML files 2020-05-26 12:04:09 +10:00
contrib yum-minimal : update mirrors for Centos 8 2019-10-03 00:22:05 +00:00
diskimage_builder package-installs : allow a list of parameters 2020-05-27 06:17:57 +10:00
doc Remove Trusty testing 2020-04-23 10:00:13 +10:00
playbooks functests: use ensure-virtualenv 2020-04-28 10:29:26 +10:00
releasenotes ubuntu-minimal: Add Ubuntu Focal test build 2020-05-21 14:03:54 +10:00
roles yum-minimal : update mirrors for Centos 8 2019-10-03 00:22:05 +00:00
tests run_functests: handle build without tar 2020-03-31 08:56:26 +11:00
.gitignore Import legacy playbooks 2017-10-17 10:41:30 +11:00
.gitreview OpenDev Migration Patch 2019-04-19 19:26:30 +00:00
.testr.conf package-installs: provide for skip from env var 2018-11-30 10:02:47 +11:00
.yamllint dib-lint: use yamllint to parse YAML files 2020-05-26 12:04:09 +10:00
bindep.txt bindep: remove lsb-release 2020-03-16 10:33:40 +11:00
LICENSE Fix copyrights for HP work. 2012-11-15 16:20:32 +13:00
lower-constraints.txt Remove Babel and any signs of translations 2020-04-17 17:05:15 +02:00
pylint.cfg Refactor: use lazy logging 2017-05-30 14:39:58 +10:00
README.rst Remove Trusty testing 2020-04-23 10:00:13 +10:00
requirements.txt Remove Babel and any signs of translations 2020-04-17 17:05:15 +02:00
setup.cfg Remove Babel and any signs of translations 2020-04-17 17:05:15 +02:00
setup.py Updated from global requirements 2017-03-13 19:30:19 +00:00
test-requirements.txt dib-lint: use yamllint to parse YAML files 2020-05-26 12:04:09 +10:00
tox.ini Uncap hacking 2020-02-24 10:34:46 +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=bionic disk-image-create -o ubuntu-bionic.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
<https://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:

* https://docs.openstack.org/diskimage-builder/latest/

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.