Release 1.21.1

-----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJYW2GoAAoJEBty/58O8cX8uSAH/15dJsglP6Zie7jSSJcR6k+e
 PJembHn9qrqrCjmJ5EwakojySaaLhwEJKvlP54OU9v7pmUXL9gJtK2OzW54LQ41g
 xBHIu0Pg4z7juyHm9+1P2Sr7Mzs1pVSEbsIYpDYUU19eghI1EAeIj3I1woKgajN7
 JlI61j3r67G6EAVtPOnmD1jvXS8CrtjiJ9wtWTH20pWfmksovg/GuXUCZrLkAAhO
 NcK35CdMii1Hkr7XOH424La/Ar+3qfUX18ZkbJY6yHzkq/ityTzzKOFjAaDl2Jg9
 WNc+SLCVYpPhPwgt7miTywamUNj3ZviA5/Hd8fuLXmtHSLQ23WOtBiaQMLtwXHs=
 =8dIl
 -----END PGP SIGNATURE-----

Merge tag '1.26.1' into merge-branch

Release 1.21.1

Change-Id: Ib9eb3dd1d384fc5b6a9846608216e056c57a173a
This commit is contained in:
Ian Wienand 2017-02-02 20:36:23 +11:00
commit adf39c52cf
29 changed files with 87 additions and 23 deletions

View File

@ -1,2 +1,3 @@
# This is a cross-platform list tracking distribution packages needed by tests;
# see http://docs.openstack.org/infra/bindep/ for additional information.
squashfs-tools

View File

@ -1,7 +1,14 @@
==========
bootloader
==========
Installs grub[2] on boot partition on the system. In case GRUB2
is not available in the system, a fallback to Extlinux will happen. It's
also possible to enforce the use of Extlinux by exporting a DIB_EXTLINUX
variable to the environment.
Installs ``grub[2]`` on boot partition on the system. In case GRUB2 is
not available in the system, a fallback to Extlinux will happen. It's
also possible to enforce the use of Extlinux by exporting a
``DIB_EXTLINUX`` variable to the environment.
Arguments
=========
* ``DIB_GRUB_TIMEOUT`` sets the ``grub`` menu timeout. It defaults to
5 seconds. Set this to 0 (no timeout) for fast boot times.

View File

@ -53,7 +53,7 @@ function install_grub2 {
if [ -f "/tmp/grub/install" ] ; then
source /tmp/grub/install
elif [[ "$ARCH" =~ "ppc" ]]; then
install-packages -m bootloader grub-ieee1275
install-packages grub-ieee1275
else
install-packages -m bootloader grub-pc
fi
@ -127,6 +127,7 @@ function install_grub2 {
GRUB_CFG=/boot/grub/grub.cfg
fi
echo "GRUB_TIMEOUT=${DIB_GRUB_TIMEOUT:-5}" >>/etc/default/grub
echo 'GRUB_TERMINAL="serial console"' >>/etc/default/grub
echo 'GRUB_GFXPAYLOAD_LINUX=text' >>/etc/default/grub
echo 'GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200 no_timer_check"' >>/etc/default/grub

View File

@ -10,7 +10,7 @@ Currently only supports Gentoo.
Environment Variables
---------------------
DIB_CLOUD_INIT_ALLOW_PASS_AUTH
DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH
:Required: No
:Default: password authentication disabled when cloud-init installed
:Description: customize cloud-init to allow ssh password

View File

@ -16,6 +16,8 @@ if [ -z "${DIB_PYTHON_VERSION:-}" ]; then
DIB_PYTHON_VERSION=2
elif [ "$DISTRO_NAME" == "centos7" ]; then
DIB_PYTHON_VERSION=2
elif [ "$DISTRO_NAME" == "rhel7" ]; then
DIB_PYTHON_VERSION=2
elif [ "$DISTRO_NAME" == "opensuse" ]; then
DIB_PYTHON_VERSION=2
fi

View File

@ -3,5 +3,6 @@ no-final-image
package-installs
pip-and-virtualenv
pkg-map
runtime-ssh-host-keys
source-repositories
svc-map

View File

@ -22,8 +22,12 @@ case "$DIB_INIT_SYSTEM" in
# let dib-init-system's postinstall handle enabling init scripts
exit 0
;;
sysv)
# ssh is enabled by default, nothing to do
exit 0
;;
*)
echo "Unsupported init system"
echo "Unsupported init system $DIB_INIT_SYSTEM"
exit 1
;;
esac

View File

@ -13,7 +13,7 @@ Environment Variables
DIB_RELEASE
:Required: No
:Default: 42.1
:Default: 42.2
:Description: Set the desired openSUSE release.
DIB_OPENSUSE_MIRROR:

View File

@ -1,5 +1,5 @@
export DISTRO_NAME=opensuse
DIB_RELEASE=${DIB_RELEASE:-42.1}
DIB_RELEASE=${DIB_RELEASE:-42.2}
export DIB_RELEASE=${DIB_RELEASE,,}
export DIB_OPENSUSE_MIRROR=${DIB_OPENSUSE_MIRROR:-http://download.opensuse.org}
case ${DIB_RELEASE} in

View File

@ -18,7 +18,7 @@ Environment Variables
DIB_RELEASE
:Required: No
:Default: 13.1
:Default: 42.2
:Description: Set the desired openSUSE release.
DIB_CLOUD_IMAGES

View File

@ -1,5 +1,5 @@
export DISTRO_NAME=opensuse
export DIB_RELEASE=${DIB_RELEASE:-13.1}
export DIB_RELEASE=${DIB_RELEASE:-42.2}
case ${DIB_RELEASE} in
# Old openSUSE releases
13*) export OPENSUSE_REPO_DIR=openSUSE_${DIB_RELEASE} ;;

View File

@ -0,0 +1 @@
Verify we can build an openSUSE image.

View File

@ -24,8 +24,12 @@ case "$DIB_INIT_SYSTEM" in
# let dib-init-system's postinstall handle enabling init scripts
exit 0
;;
sysv)
# nothing to do
exit 0
;;
*)
echo "Unsupported init system"
echo "Unsupported init system $DIB_INIT_SYSTEM"
exit 1
;;
esac

View File

@ -0,0 +1 @@
Verify we can build a ubuntu-minimal image.

View File

@ -0,0 +1 @@
Verify we can build a ubuntu-minimal image.

View File

@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2016 SUSE Linux Products Gmb
# Copyright 2016 SUSE Linux GmbH
# Copyright 2015 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may

View File

@ -48,7 +48,7 @@ function show_options () {
echo "Options:"
echo " -a i386|amd64|armhf -- set the architecture of the image(default amd64)"
echo " -o imagename -- set the imagename of the output image file(default image)"
echo " -t qcow2,tar,vhd,docker,aci,raw -- set the image types of the output image files (default qcow2)"
echo " -t qcow2,tar,tgz,squashfs,vhd,docker,aci,raw -- set the image types of the output image files (default qcow2)"
echo " File types should be comma separated. VHD outputting requires the vhd-util"
echo " executable be in your PATH. ACI outputting requires the ACI_MANIFEST "
echo " environment variable be a path to a manifest file."
@ -202,12 +202,22 @@ for X in ${!IMAGE_TYPES[@]}; do
exit 1
fi
;;
tgz)
# Force tar to be created.
IMAGE_TYPES+=('tar')
;;
vhd)
if [ -z "$(which vhd-util)" ]; then
echo "vhd output format specified but no vhd-util executable found."
exit 1
fi
;;
squashfs)
if [ -z "$(which mksquashfs)" ]; then
echo "squashfs output format specified but no mksquashfs executable found."
exit 1
fi
;;
docker)
if [ -z "$(which docker)" ]; then
echo "docker output format specified but no docker executable found."
@ -454,6 +464,10 @@ for X in ${!IMAGE_TYPES[@]} ; do
fi
sudo chown $USER: $IMAGE_NAME.${IMAGE_TYPES[$X]}
unset IMAGE_TYPES[$X]
elif [ "${IMAGE_TYPES[$x]}" == "squashfs" ]; then
sudo mksquashfs ${TMP_BUILD_DIR}/mnt $IMAGE_NAME.squash -comp xz \
-noappend -root-becomes ${TMP_BUILD_DIR}/mnt \
-wildcards -e "proc/*" -e "sys/*" -no-recovery
elif [ "${IMAGE_TYPES[$X]}" == "docker" ]; then
sudo tar -C ${TMP_BUILD_DIR}/mnt -cf - --exclude ./sys \
--exclude ./proc --xattrs --xattrs-include=\* . \
@ -487,7 +501,7 @@ if [[ (! $IMAGE_ELEMENT =~ no-final-image) && "$IS_RAMDISK" == "0" ]]; then
# We have to do raw last because it is destructive
if [ "$IMAGE_TYPE" = "raw" ]; then
has_raw_type=1
else
elif [ "$IMAGE_TYPE" != "squashfs" ]; then
compress_and_save_image $IMAGE_NAME.$IMAGE_TYPE
fi
done

View File

@ -70,7 +70,7 @@ function run_in_target () {
# Bug: #1330290
# Force the inclusion of a typical set of dirs in PATH, this is needed for guest
# distros that have path elements not in the host PATH.
sudo -E chroot $TMP_MOUNT_PATH env -u TMPDIR PATH="\$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" sh -c "$cmd"
sudo -E chroot $TMP_MOUNT_PATH env -u TMPDIR -u VIRTUAL_ENV PATH="\$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" sh -c "$cmd"
export HOME=$ORIG_HOME
}
@ -129,6 +129,9 @@ function compress_and_save_image () {
fi
if [ "$IMAGE_TYPE" = "raw" ]; then
mv $TMP_IMAGE_PATH $1-new
elif [ "$IMAGE_TYPE" == "tgz" ]; then
gzip -9 < $IMAGE_NAME.tar > $1-new
rm $IMAGE_NAME.tar
elif [ "$IMAGE_TYPE" == "vhd" ]; then
cp $TMP_IMAGE_PATH $1-intermediate
vhd-util convert -s 0 -t 1 -i $1-intermediate -o $1-intermediate

View File

@ -51,6 +51,8 @@ formats are:
* qcow2
* tar
* tgz
* squashfs
* vhd
* docker
* raw

View File

@ -0,0 +1,6 @@
---
features:
- The ``bootloader`` element will explicitly set the timeout to
``5`` seconds when using ``grub`` (previously this was undefined,
but platform defaults were usually 5 seconds). Set this to ``0``
for faster boots.

View File

@ -0,0 +1,3 @@
---
features:
- New squashfs image output format.

View File

@ -8,10 +8,11 @@ author-email = openstack-dev@lists.openstack.org
license: Apache License (2.0)
home-page = http://docs.openstack.org/developer/diskimage-builder/
classifier =
Development Status :: 3 - Alpha
Development Status :: 5 - Production/Stable
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Environment :: Console
[build_sphinx]

View File

@ -16,6 +16,10 @@ export DIB_ELEMENTS=$(python -c '
import diskimage_builder.paths
diskimage_builder.paths.show_path("elements")')
# Setup sane locale defaults, because this information is leaked into DIB.
export LANG=en_US.utf8
export LC_ALL=
#
# Default skip tests
#
@ -27,11 +31,11 @@ DEFAULT_SKIP_TESTS=(
fedora/build-succeeds
# in non-voting
gentoo/build-succeeds
opensuse/build-succeeds
ubuntu-minimal/precise-build-succeeds
# good to have the test case around - but because of changes
# in testing does not work always.
debian-minimal/testing-build-succeeds
# Currently failing due to bug in locale generation
centos-minimal/build-succeeds
# No longer reasonable to test upstream (lacks a mirror in infra)
centos/build-succeeds
)
@ -202,7 +206,12 @@ while getopts ":hlj:t" opt; do
echo "The available functional tests are:"
echo
for t in ${TESTS[@]}; do
echo " $t"
echo -n " $t"
if [[ " ${DEFAULT_SKIP_TESTS[@]} " =~ " ${t} " ]]; then
echo " [skip]"
else
echo " [run]"
fi
done
echo
exit 0

View File

@ -59,8 +59,8 @@ function build_test_image() {
fi
}
test_formats="tar raw qcow2 docker aci"
for binary in qemu-img docker ; do
test_formats="tar tgz squashfs raw qcow2 docker aci"
for binary in qemu-img docker mksquashfs; do
if [ -z "$(which $binary)" ]; then
echo "Warning: No $binary binary found, cowardly refusing to run tests."
exit 1

View File

@ -1,5 +1,5 @@
[tox]
envlist = py34,py27,pep8
envlist = py35,py27,pep8
minversion = 1.6
skipsdist = True