The current output for package-installs-v2 is inscrutable [1] The problem starts with process_output() which is not capturing stderr. This means that any stderr output is dislocated from any stdout output around it. This is *really* confusing as you get a bunch of seemingly meaningless stderr output from any calls before you see any stdout (e.g. in [1] you can see random yum error output that should have been with the yum call)). The simplest thing to do is to redirect stderr to stdout which keeps everything in sync. This causes a slight problem, however, because pkg-map outputs both status information and errors on stderr. To work around this but maintain compatibility, we add a "--prefix" argument that prepends mapped packages from pkg-map with a value we can match on. The existing status/debug output from pkg-map is low-value; modify the call so that it will be traced only at higher debug levels (e.g. -x -x). The current loop is also calling pkg-map for every package in every element (this is why in [1] the same message is repeated over and over). This is unnecessary; it only needs to pkg-map once for each element, giving the package list as the arguments. Create package lists by element and pass those to pkg-map. As a cleanup, there is no point in printing e.output if the process_output fails for the install because we are already tracing it; i.e. the output, even for failures, is already in the logs. Printing it again just duplicates the output. [2] is an extract showing what I feel is a much more understandable log output for a fairly complex install. [1] http://paste.openstack.org/show/595118/ [2] http://paste.openstack.org/show/595303/ Change-Id: Ia74602a5d2db032a476481caec0e45dab013d54f
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
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.