Hello community, here is the log from the commit of package diskimage-builder for openSUSE:Factory checked in at 2019-02-27 15:05:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/diskimage-builder (Old) and /work/SRC/openSUSE:Factory/.diskimage-builder.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "diskimage-builder" Wed Feb 27 15:05:46 2019 rev:20 rq:676958 version:2.20.1 Changes: -------- --- /work/SRC/openSUSE:Factory/diskimage-builder/diskimage-builder.changes 2018-11-08 09:48:46.741079415 +0100 +++ /work/SRC/openSUSE:Factory/.diskimage-builder.new.28833/diskimage-builder.changes 2019-02-27 15:05:49.526452918 +0100 @@ -1,0 +2,24 @@ +Fri Feb 15 12:57:22 UTC 2019 - Markos Chandras <[email protected]> + +- Version bump to 2.20.1 + * pip-and-virtualenv: handle centos image-based builds + * pip-and-virtualenv : only remove system files on centos + * Enable dbus-broker for Fedora 29 + * fix systemd import-tar for gentoo + * Add python3-setuptools to bindep.txt for Fedora + * support cracklib in pam for Gentoo's musl profile + * Make sure $TMP_BUILD_DIR/mnt is owned by root + * change to python36 for gentoo + * source-repositories: Replace documentation http with https links + * Delete the duplicate words in 50-zipl + * Change phase to check for dracut-regenerate in iscsi-boot + * Add policycoreutils-python-utils to bindep + * Use template for lower-constraints + * simple-init: allow for NetworkManager support + * package-installs: provide for skip from env var + * Add an element to configure iBFT network interfaces + * move selinux-permissive configure to pre-install phase + * Update to Fedora 29 + * Increase size of EFI system partition + +------------------------------------------------------------------- Old: ---- diskimage-builder-2.18.0.tar.gz New: ---- diskimage-builder-2.20.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ diskimage-builder.spec ++++++ --- /var/tmp/diff_new_pack.dJwxIz/_old 2019-02-27 15:05:50.158452725 +0100 +++ /var/tmp/diff_new_pack.dJwxIz/_new 2019-02-27 15:05:50.162452725 +0100 @@ -1,7 +1,7 @@ # # spec file for package diskimage-builder # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ # are only ever run inside the disk image build chroot). %global __requires_exclude_from ^%{python3_sitelib}/diskimage_builder/elements/.*$ Name: diskimage-builder -Version: 2.18.0 +Version: 2.20.1 Release: 0 Summary: Image Building Tools for OpenStack License: Apache-2.0 ++++++ diskimage-builder-2.18.0.tar.gz -> diskimage-builder-2.20.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/.testr.conf new/diskimage-builder-2.20.1/.testr.conf --- old/diskimage-builder-2.18.0/.testr.conf 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/.testr.conf 2019-02-14 03:13:02.000000000 +0100 @@ -3,7 +3,7 @@ OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ OS_LOG_CAPTURE=${OS_LOG_CAPTURE:-1} \ OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ - OS_DEBUG=${OS_DEBUG:-0} \ + OS_DEBUG=${OS_DEBUG:-1} \ ${PYTHON:-python} -m subunit.run discover . $LISTOPT $IDOPTION test_id_option=--load-list $IDFILE test_list_option=--list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/.zuul.d/jobs.yaml new/diskimage-builder-2.20.1/.zuul.d/jobs.yaml --- old/diskimage-builder-2.18.0/.zuul.d/jobs.yaml 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/.zuul.d/jobs.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -1,5 +1,6 @@ - project: templates: + - openstack-lower-constraints-jobs - tripleo-buildimage-jobs check: jobs: @@ -17,16 +18,11 @@ - dib-functests-bionic-python3-image - dib-functests-bionic-python3-extras - dib-functests-bionic-python3-containers - - tripleo-buildimage-overcloud-full-centos-7 - - openstack-tox-lower-constraints - gate: jobs: - dib-functests-trusty-python2 - dib-functests-xenial-python3 - dib-functests-centos7-python2 - - tripleo-buildimage-overcloud-full-centos-7 - - openstack-tox-lower-constraints - job: name: dib-functests-base diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/AUTHORS new/diskimage-builder-2.20.1/AUTHORS --- old/diskimage-builder-2.18.0/AUTHORS 2018-11-04 23:49:15.000000000 +0100 +++ new/diskimage-builder-2.20.1/AUTHORS 2019-02-14 03:14:32.000000000 +0100 @@ -153,6 +153,7 @@ NTTdocomo <[email protected]> NTTdocomo-openstack <[email protected]> Nam Nguyen Hoai <[email protected]> +Natal Ngétal <[email protected]> Newell Jensen <[email protected]> Nguyen Hung Phuong <[email protected]> Nguyen Van Trung <[email protected]> @@ -242,6 +243,7 @@ Zhao Lei <[email protected]> Zhiguo Deng <[email protected]> aweiteka <[email protected]> +chengebj5238 <[email protected]> chenxiangui <[email protected]> chenxing <[email protected]> chriskrelle <chriskrelle@tooltester.(none)> @@ -270,3 +272,5 @@ zhang.lei <[email protected]> zhangdebo <[email protected]> zhangjian <[email protected]> +zhouxinyong <[email protected]> +zhufl <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/ChangeLog new/diskimage-builder-2.20.1/ChangeLog --- old/diskimage-builder-2.18.0/ChangeLog 2018-11-04 23:49:14.000000000 +0100 +++ new/diskimage-builder-2.20.1/ChangeLog 2019-02-14 03:14:32.000000000 +0100 @@ -1,6 +1,48 @@ CHANGES ======= +2.20.1 +------ + +* pip-and-virtualenv: handle centos image-based builds + +2.20.0 +------ + +* pip-and-virtualenv : only remove system files on centos +* Enable dbus-broker for Fedora 29 +* fix systemd import-tar for gentoo +* Add python3-setuptools to bindep.txt for Fedora +* support cracklib in pam for Gentoo's musl profile +* Make sure $TMP\_BUILD\_DIR/mnt is owned by root +* [Configuration] Add missing py37 and corrected default envlist +* [Core] Change openstack-dev to openstack-discuss + +2.19.0 +------ + +* change to python36 for gentoo +* source-repositories: Replace documentation http with https links +* Delete the duplicate words in 50-zipl +* Change phase to check for dracut-regenerate in iscsi-boot +* Add policycoreutils-python-utils to bindep +* Use template for lower-constraints +* simple-init: allow for NetworkManager support +* package-installs: provide for skip from env var +* Revert "Make tripleo-buildimage-overcloud-full-centos-7 non-voting" +* Fix unit tests for elements +* Capture ramdisk test run logs +* Make tripleo-buildimage-overcloud-full-centos-7 non-voting +* Only cap pylint for python2 +* Fix a typo in the help message of disk-image-create +* Add missing ws separator between words +* Add an element to configure iBFT network interfaces +* move selinux-permissive configure to pre-install phase +* Update to Fedora 29 +* fix some errors for ill-syntax in README.rst +* delete the duplicate words in package-outside-debootstrap-ac93e9ce991819f1.yaml +* Increase size of EFI system partition + 2.18.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/PKG-INFO new/diskimage-builder-2.20.1/PKG-INFO --- old/diskimage-builder-2.18.0/PKG-INFO 2018-11-04 23:49:15.000000000 +0100 +++ new/diskimage-builder-2.20.1/PKG-INFO 2019-02-14 03:14:33.000000000 +0100 @@ -1,10 +1,10 @@ Metadata-Version: 1.1 Name: diskimage-builder -Version: 2.18.0 +Version: 2.20.1 Summary: Golden Disk Image builder. Home-page: https://docs.openstack.org/diskimage-builder/latest/ Author: OpenStack -Author-email: [email protected] +Author-email: [email protected] License: Apache License (2.0) Description: Image building tools for OpenStack ================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/bindep.txt new/diskimage-builder-2.20.1/bindep.txt --- old/diskimage-builder-2.18.0/bindep.txt 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/bindep.txt 2019-02-14 03:13:02.000000000 +0100 @@ -27,6 +27,10 @@ # centos/fedora qemu-img [platform:redhat] policycoreutils-python [platform:redhat] +policycoreutils-python-utils [platform:fedora] +# NOTE(cgoncalves): setuptools is required by python3-setools (a dependency of +# policycoreutils-python) but is not in its RPM dependency list in Fedora 28. +python3-setuptools [platform:fedora] # suse python-pyliblzma [platform:suse] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/block_device/cmd.py new/diskimage-builder-2.20.1/diskimage_builder/block_device/cmd.py --- old/diskimage-builder-2.18.0/diskimage_builder/block_device/cmd.py 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/block_device/cmd.py 2019-02-14 03:13:02.000000000 +0100 @@ -52,7 +52,7 @@ parser = argparse.ArgumentParser(description="DIB Block Device helper") parser.add_argument('--params', required=False, - help="YAML file containing parameters for" + help="YAML file containing parameters for " "block-device handling. Default is " "DIB_BLOCK_DEVICE_PARAMS_YAML") @@ -66,7 +66,7 @@ cmd_init.set_defaults(func=self.cmd_init) cmd_getval = subparsers.add_parser('getval', - help='Retrieve information about' + help='Retrieve information about ' 'internal state') cmd_getval.set_defaults(func=self.cmd_getval) cmd_getval.add_argument('symbol', help='symbol to print') @@ -76,7 +76,7 @@ cmd_create.set_defaults(func=self.cmd_create) cmd_umount = subparsers.add_parser('umount', - help='Unmount blockdevice and' + help='Unmount blockdevice and ' 'cleanup resources') cmd_umount.set_defaults(func=self.cmd_umount) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/block-device-efi/block-device-default.yaml new/diskimage-builder-2.20.1/diskimage_builder/elements/block-device-efi/block-device-default.yaml --- old/diskimage-builder-2.18.0/diskimage_builder/elements/block-device-efi/block-device-default.yaml 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/block-device-efi/block-device-default.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -7,7 +7,7 @@ partitions: - name: ESP type: 'EF00' - size: 8MiB + size: 12MiB mkfs: type: vfat mount: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/cache-url/tests/test_cache_url.py new/diskimage-builder-2.20.1/diskimage_builder/elements/cache-url/tests/test_cache_url.py --- old/diskimage-builder-2.18.0/diskimage_builder/elements/cache-url/tests/test_cache_url.py 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/cache-url/tests/test_cache_url.py 2019-02-14 03:13:02.000000000 +0100 @@ -27,15 +27,15 @@ source = 'http://fake/url' # Write fake data to the target file and return success self._stub_script('curl', 'echo "test" > ${3:7:100}\necho 200') - self._run_command(['elements/cache-url/bin/cache-url', - source, - target]) + self._run_command( + ['diskimage_builder/elements/cache-url/bin/cache-url', + source, target]) self.assertTrue(os.path.exists(target)) modification_time = os.path.getmtime(target) # Make sure that the timestamp would change if the file does time.sleep(1) self._stub_script('curl', 'echo "304"') - self._run_command(['elements/cache-url/bin/cache-url', - source, - target]) + self._run_command( + ['diskimage_builder/elements/cache-url/bin/cache-url', + source, target]) self.assertEqual(modification_time, os.path.getmtime(target)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/debootstrap/README.rst new/diskimage-builder-2.20.1/diskimage_builder/elements/debootstrap/README.rst --- old/diskimage-builder-2.18.0/diskimage_builder/elements/debootstrap/README.rst 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/debootstrap/README.rst 2019-02-14 03:13:02.000000000 +0100 @@ -56,7 +56,7 @@ The ``DIB_DEBOOTSTRAP_EXTRA_ARGS`` environment variable may be used to pass extra arguments to the debootstrap command used to create the -base filesystem image. If --keyring is is used in ``DIB_DEBOOTSTRAP_EXTRA_ARGS``, +base filesystem image. If --keyring is used in ``DIB_DEBOOTSTRAP_EXTRA_ARGS``, it will override ``DIB_APT_KEYRING`` if that is used as well. For further information about ``DIB_DEBIAN_DEBOOTSTRAP_SCRIPT`` , diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/fedora/environment.d/10-fedora-distro-name.bash new/diskimage-builder-2.20.1/diskimage_builder/elements/fedora/environment.d/10-fedora-distro-name.bash --- old/diskimage-builder-2.18.0/diskimage_builder/elements/fedora/environment.d/10-fedora-distro-name.bash 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/fedora/environment.d/10-fedora-distro-name.bash 2019-02-14 03:13:02.000000000 +0100 @@ -1,5 +1,5 @@ export DISTRO_NAME=fedora -export DIB_RELEASE=${DIB_RELEASE:-28} +export DIB_RELEASE=${DIB_RELEASE:-29} # Note the filename URL has a "sub-release" in it # http:// ... Fedora-Cloud-Base-25-1.3.x86_64.qcow2 @@ -11,10 +11,10 @@ # # [1] https://lists.fedoraproject.org/archives/list/[email protected]/thread/2WFO2FKIGUQYRQXIR35UVJGRHF7LQENJ/ -if [[ ${DIB_RELEASE} == '27' ]]; then - export DIB_FEDORA_SUBRELEASE=1.6 -elif [[ ${DIB_RELEASE} == '28' ]]; then +if [[ ${DIB_RELEASE} == '28' ]]; then export DIB_FEDORA_SUBRELEASE=1.1 +elif [[ ${DIB_RELEASE} == '29' ]]; then + export DIB_FEDORA_SUBRELEASE=1.2 else echo "Unsupported Fedora release" exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/fedora-minimal/environment.d/10-fedora-distro-name.bash new/diskimage-builder-2.20.1/diskimage_builder/elements/fedora-minimal/environment.d/10-fedora-distro-name.bash --- old/diskimage-builder-2.18.0/diskimage_builder/elements/fedora-minimal/environment.d/10-fedora-distro-name.bash 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/fedora-minimal/environment.d/10-fedora-distro-name.bash 2019-02-14 03:13:02.000000000 +0100 @@ -1,2 +1,2 @@ export DISTRO_NAME=fedora -export DIB_RELEASE=${DIB_RELEASE:-28} +export DIB_RELEASE=${DIB_RELEASE:-29} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/gentoo/README.rst new/diskimage-builder-2.20.1/diskimage_builder/elements/gentoo/README.rst --- old/diskimage-builder-2.18.0/diskimage_builder/elements/gentoo/README.rst 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/gentoo/README.rst 2019-02-14 03:13:02.000000000 +0100 @@ -39,12 +39,12 @@ * Gentoo supports many different versions of python, in order to select one you may use the `GENTOO_PYTHON_TARGETS` environment variable to select the versions of python you want on your image. The format of this variable - is a string as follows `"python2_7 python3_5"`. + is a string as follows `"python2_7 python3_6"`. * In addition you can select the primary python version you wish to use (that which will be called by running the `python` command. The `GENTOO_PYTHON_ACTIVE_VERSION` is used to set that mapping. The variable - contents can be something like `python3.5`. + contents can be something like `python3.6`. * You can enable overlays using the `GENTOO_OVERLAYS` variable. In it you should put a space separated list of overlays. The overlays must be in the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/gentoo/environment.d/00-gentoo-envars.bash new/diskimage-builder-2.20.1/diskimage_builder/elements/gentoo/environment.d/00-gentoo-envars.bash --- old/diskimage-builder-2.18.0/diskimage_builder/elements/gentoo/environment.d/00-gentoo-envars.bash 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/gentoo/environment.d/00-gentoo-envars.bash 2019-02-14 03:13:02.000000000 +0100 @@ -2,8 +2,8 @@ export DISTRO_NAME=gentoo export GENTOO_PROFILE=${GENTOO_PROFILE:-'default/linux/amd64/17.0'} export GENTOO_PORTAGE_CLEANUP=${GENTOO_PORTAGE_CLEANUP:-'True'} -export GENTOO_PYTHON_TARGETS=${GENTOO_PYTHON_TARGETS:-'python2_7 python3_5'} -export GENTOO_PYTHON_ACTIVE_VERSION=${GENTOO_PYTHON_ACTIVE_VERSION:-'python3.5'} +export GENTOO_PYTHON_TARGETS=${GENTOO_PYTHON_TARGETS:-'python2_7 python3_6'} +export GENTOO_PYTHON_ACTIVE_VERSION=${GENTOO_PYTHON_ACTIVE_VERSION:-'python3.6'} export GENTOO_OVERLAYS=${GENTOO_OVERLAYS:-''} export GENTOO_EMERGE_DEFAULT_OPTS=${GENTOO_EMERGE_DEFAULT_OPTS:-"--binpkg-respect-use --rebuilt-binaries=y --usepkg=y --with-bdeps=y --binpkg-changed-deps=y --quiet --jobs=2"} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/gentoo/pre-install.d/02-gentoo-02-flags new/diskimage-builder-2.20.1/diskimage_builder/elements/gentoo/pre-install.d/02-gentoo-02-flags --- old/diskimage-builder-2.18.0/diskimage_builder/elements/gentoo/pre-install.d/02-gentoo-02-flags 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/gentoo/pre-install.d/02-gentoo-02-flags 2019-02-14 03:13:02.000000000 +0100 @@ -30,8 +30,14 @@ # needed in order to install pip packages as root echo '=dev-python/pip-9.0.1-r2 ~amd64' >> /etc/portage/package.keywords/pip +if [[ "${GENTOO_PROFILE}" == *"systemd"* ]]; then + # systemd import-tar is broken, use a more recent (fixed) version + echo '~sys-apps/systemd-241 ~amd64' >> /etc/portage/package.keywords/systemd +fi + if [[ "${GENTOO_PROFILE}" == *"musl"* ]]; then echo "dev-vcs/git -gpg" >> /etc/portage/package.use/musl # gpg doesn't build on musl profiles echo "=sys-block/open-iscsi-2.0.874-r1 ~amd64" >> /etc/portage/package.keywords/musl echo "=sys-block/open-isns-0.97 ~amd64" >> /etc/portage/package.keywords/musl + echo "sys-libs/pam cracklib" >> /etc/portage/package.use/musl fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/README.rst new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/README.rst --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/README.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/README.rst 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,5 @@ +=============== +ibft-interfaces +=============== + +Initialize network interfaces with information provided through iBFT. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/element-deps new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/element-deps --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/element-deps 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/element-deps 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,4 @@ +dib-init-system +install-static +package-installs +pkg-map diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/init-scripts/systemd/init-ibft-interfaces.service new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/init-scripts/systemd/init-ibft-interfaces.service --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/init-scripts/systemd/init-ibft-interfaces.service 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/init-scripts/systemd/init-ibft-interfaces.service 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,14 @@ +[Unit] +Description=Initialize iBFT network interfaces +After=network.target +Before=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +User=root +ExecStart=/usr/local/sbin/init-ibft-interfaces.sh +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/init-scripts/sysv/init-ibft-interfaces.init new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/init-scripts/sysv/init-ibft-interfaces.init --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/init-scripts/sysv/init-ibft-interfaces.init 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/init-scripts/sysv/init-ibft-interfaces.init 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,31 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: init-ibft-interfaces +# Required-Start: $local_fs networking +# Required-Stop: $local_fs +# Default-Start: S +# Default-Stop: 0 6 +# X-Start-Before: +# Short-Description: Initialize iBFT interfaces +# Description: Initialize iBFT network interfaces +### END INIT INFO + +NAME=init-ibft-interfaces +INIT_NAME=/etc/init.d/${NAME} +SCRIPT_NAME=/usr/local/sbin/${NAME}.sh + +[ -x $SCRIPT_NAME ] || exit 0 + +case "$1" in + start) + $SCRIPT_NAME + ;; + stop) + ;; + *) + echo "Usage: $INIT_NAME {start|stop}" + exit 1 + ;; +esac + +exit 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/init-scripts/upstart/init-ibft-interfaces.conf new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/init-scripts/upstart/init-ibft-interfaces.conf --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/init-scripts/upstart/init-ibft-interfaces.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/init-scripts/upstart/init-ibft-interfaces.conf 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,16 @@ +# init-ibft-interfaces - Initialize iBFT network interfaces + +description "Initialize iBFT network interfaces" + +start on runlevel [2345] +stop on runlevel [!2345] + +respawn +respawn limit 10 5 +umask 022 + +expect stop + +console output + +exec /usr/local/sbin/init-ibft-interfaces.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/package-installs.yaml new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/package-installs.yaml --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/package-installs.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/package-installs.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1 @@ +iscsi_package: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/pkg-map new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/pkg-map --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/pkg-map 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/pkg-map 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,13 @@ +{ + "family": { + "redhat": { + "iscsi_package": "iscsi-initiator-utils" + }, + "gentoo": { + "iscsi_package": "sys-block/open-iscsi" + } + }, + "default": { + "iscsi_package": "open-iscsi" + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/post-install.d/70-init-ibft-interfaces new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/post-install.d/70-init-ibft-interfaces --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/post-install.d/70-init-ibft-interfaces 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/post-install.d/70-init-ibft-interfaces 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +case "$DIB_INIT_SYSTEM" in + upstart) + ;; + systemd) + systemctl enable init-ibft-interfaces.service + ;; + sysv) + update-rc.d init-ibft-interfaces.init defaults + ;; + *) + echo "Unsupported init system $DIB_INIT_SYSTEM" + exit 1 + ;; +esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/static/etc/modules-load.d/ibft.conf new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/static/etc/modules-load.d/ibft.conf --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/static/etc/modules-load.d/ibft.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/static/etc/modules-load.d/ibft.conf 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,3 @@ +iscsi_boot_sysfs +iscsi_ibft +iscsi_tcp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/static/usr/local/sbin/init-ibft-interfaces.sh new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/static/usr/local/sbin/init-ibft-interfaces.sh --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ibft-interfaces/static/usr/local/sbin/init-ibft-interfaces.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ibft-interfaces/static/usr/local/sbin/init-ibft-interfaces.sh 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,22 @@ +#!/bin/bash +# dib-lint: disable=dibdebugtrace + +set -eux +set -o pipefail + +# iscsistart is a part of the dependencies, but check just in case. +if ! iscsistart -v; then + echo "iscsistart not found, iBFT devices won't be connected" + exit 1 +fi + +if iscsistart -f; then + if ! iscsistart -N; then + echo "Could not configure iBFT devices" + exit 1 + fi + # Make sure the events for new devices are processed + udevadm settle +else + echo "No iBFT devices to configure, exiting" +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/ironic-agent/element-deps new/diskimage-builder-2.20.1/diskimage_builder/elements/ironic-agent/element-deps --- old/diskimage-builder-2.18.0/diskimage_builder/elements/ironic-agent/element-deps 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/ironic-agent/element-deps 2019-02-14 03:13:02.000000000 +0100 @@ -1,4 +1,5 @@ dhcp-all-interfaces +ibft-interfaces install-static no-final-image package-installs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/iscsi-boot/environment.d/open-iscsi-config new/diskimage-builder-2.20.1/diskimage_builder/elements/iscsi-boot/environment.d/open-iscsi-config --- old/diskimage-builder-2.18.0/diskimage_builder/elements/iscsi-boot/environment.d/open-iscsi-config 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/iscsi-boot/environment.d/open-iscsi-config 2019-02-14 03:13:02.000000000 +0100 @@ -1,10 +1,4 @@ if [[ $DISTRO_NAME = "centos7" ]]; then - eval declare -A image_elements=($(get_image_element_array)) - found=0 - for i in "${!image_elements[@]}"; do - [ "$i" = "dracut-regenerate" ] && found=1 - done - [ "$found" = 0 ] && echo "The dracut-regenerate element is required!" && exit 1 DIB_DRACUT_ENABLED_MODULES+=" - name: network diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/iscsi-boot/extra-data.d/50-check-dracut-regenerate new/diskimage-builder-2.20.1/diskimage_builder/elements/iscsi-boot/extra-data.d/50-check-dracut-regenerate --- old/diskimage-builder-2.18.0/diskimage_builder/elements/iscsi-boot/extra-data.d/50-check-dracut-regenerate 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/iscsi-boot/extra-data.d/50-check-dracut-regenerate 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +if [[ $DISTRO_NAME = "centos7" ]]; then + eval declare -A image_elements=($(get_image_element_array)) + found=0 + for i in "${!image_elements[@]}"; do + [ "$i" = "dracut-regenerate" ] && found=1 + done + [ "$found" = 0 ] && echo "The dracut-regenerate element is required!" && exit 1 + +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/package-installs/README.rst new/diskimage-builder-2.20.1/diskimage_builder/elements/package-installs/README.rst --- old/diskimage-builder-2.18.0/diskimage_builder/elements/package-installs/README.rst 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/package-installs/README.rst 2019-02-14 03:13:02.000000000 +0100 @@ -30,6 +30,10 @@ dib_python_version: 2 python3-dev: dib_python_version: 3 + package-a: + when: DIB_USE_PACKAGE_A = 1 + package-b: + when: DIB_USE_PACKAGE_A != 1 example package-installs.json @@ -62,6 +66,26 @@ ``not-arch`` can be given for one package - not both. See documentation about the ARCH variable for more information. +The ``when`` property is a simple ``=`` or ``!=`` match on a value in +an environment variable. If the given environment variable matches +the operation and value, the package is installed. If the variable is +not available in the environment, an exception is raised (thus +defaults will likely need to be provided in ``environment.d`` files or +similar for flags used here). For example, to install an extra +package when a feature is enabled:: + + package: + when: DIB_FEATURE_FLAG=1 + +To install ``package`` when ``DIB_FEATURE_FLAG=0`` but +``other_package`` when ``DIB_FEATURE_FLAG=1`` (i.e. toggle between two +packages), you can use something like:: + + package: + when: DIB_FEATURE_FLAG=0 + other_package: + when: DIB_FEATURE_FLAG!=0 + DEPRECATED: Adding a file under your elements pre-install.d, install.d, or post-install.d directories called package-installs-<element-name> will cause the list of packages in that file to be installed at the beginning of the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/package-installs/bin/package-installs-squash new/diskimage-builder-2.20.1/diskimage_builder/elements/package-installs/bin/package-installs-squash --- old/diskimage-builder-2.18.0/diskimage_builder/elements/package-installs/bin/package-installs-squash 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/package-installs/bin/package-installs-squash 2019-02-14 03:13:02.000000000 +0100 @@ -20,6 +20,7 @@ import json import logging import os +import re import sys import yaml @@ -60,11 +61,54 @@ return not _is_arch_in_list(not_arch) -def collect_data(data, filename, element_name): - try: - objs = json.load(open(filename)) - except ValueError: - objs = yaml.safe_load(open(filename)) +def _when(statement): + '''evaulate a when: statement + + Evaluate statements of the form + + when: ENVIRONMENT_VARIABLE[!]=value + + Returns True if the package should be installed, False otherwise + + If the ENVIRONMENT_VARIABLE is unset, raises an error + + ''' + # No statement means install + if statement is None: + return True + + # FOO = BAR + # var op val + match = re.match( + r"(?P<var>[\w]+)(\s*)(?P<op>=|!=)(\s*)(?P<val>.*)", statement) + if not match: + print("Malformed when line: <%s>" % statement) + sys.exit(1) + match = match.groupdict() + var = match['var'] + op = match['op'] + val = match['val'] + + if var not in os.environ: + raise RuntimeError("The variable <%s> is not set" % var) + + logger.debug("when eval %s%s%s against <%s>" % + (var, op, val, os.environ[var])) + + if op == '=': + if val == os.environ[var]: + return True + elif op == '!=': + if val != os.environ[var]: + return True + else: + print("Malformed when op: %s" % op) + sys.exit(1) + + return False + + +def collect_data(data, objs, element_name): for pkg_name, params in objs.items(): if not params: params = {} @@ -85,6 +129,12 @@ valid_dib_python_version = (dib_py_version == '' or dib_py_version == dib_py_version_env) + # True means install, false skip + if _when(params.get('when', None)) is False: + logger.debug("Skipped due to when: %s/%s" % + (element_name, pkg_name)) + continue + if valid_installtype and valid_arch and valid_dib_python_version: data[phase][install].append((pkg_name, element_name)) @@ -126,7 +176,12 @@ if not os.path.exists(target_file): continue logger.info("Squashing install file: %s" % target_file) - final_dict = collect_data(final_dict, target_file, element_name) + try: + objs = json.load(open(target_file)) + except ValueError: + objs = yaml.safe_load(open(target_file)) + + final_dict = collect_data(final_dict, objs, element_name) logger.debug("final_dict -> %s" % final_dict) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/package-installs/tests/test_package_squash.py new/diskimage-builder-2.20.1/diskimage_builder/elements/package-installs/tests/test_package_squash.py --- old/diskimage-builder-2.18.0/diskimage_builder/elements/package-installs/tests/test_package_squash.py 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/package-installs/tests/test_package_squash.py 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,140 @@ +# Copyright 2018 Red Hat, Inc. +# +# 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. +import collections +import functools +import imp +import mock +import os + +from oslotest import base +from testtools.matchers import Mismatch + +installs_squash_src = (os.path.dirname(os.path.realpath(__file__)) + + '/../bin/package-installs-squash') +installs_squash = imp.load_source('installs_squash', installs_squash_src) + + +class IsMatchingInstallList(object): + + def __init__(self, expected): + self.expected = expected + + def match(self, actual): + for phase, ops in self.expected.items(): + if phase not in actual: + # missing the phase + return Mismatch( + "Phase %d does not exist in %s" % (phase, actual)) + for op, pkgs in ops.items(): + if op not in actual[phase]: + # missing op (install/uninstall) + return Mismatch( + "Operation %s does not exist in %s" % (op, ops)) + # on py2 these can be out of order, we just want a match + expected_phase_ops = sorted(self.expected[phase][op]) + actual_phase_ops = sorted(actual[phase][op]) + if expected_phase_ops != actual_phase_ops: + return Mismatch( + "Operation list %s does not match expected %s" % + (actual[phase][op], self.expected[phase][op])) + + +class TestPackageInstall(base.BaseTestCase): + def setUp(self): + super(TestPackageInstall, self).setUp() + self.final_dict = collections.defaultdict( + functools.partial(collections.defaultdict, list)) + + def test_simple(self): + '''Test a basic package install''' + objs = { + 'test_package': '' + } + + result = installs_squash.collect_data( + self.final_dict, objs, 'test_element') + + expected = { + 'install.d': { + 'install': [('test_package', 'test_element')] + } + } + + self.assertThat(result, IsMatchingInstallList(expected)) + + @mock.patch.object(os, 'environ', dict(ARCH='arm64', **os.environ)) + def test_arch(self): + '''Exercise the arch and not-arch flags''' + objs = { + 'test_package': '', + 'test_arm64_package': { + 'arch': 'arm64' + }, + 'do_not_install': { + 'not-arch': 'arm64' + } + } + + result = installs_squash.collect_data( + self.final_dict, objs, 'test_element') + + expected = { + 'install.d': { + 'install': [('test_package', 'test_element'), + ('test_arm64_package', 'test_element')] + } + } + + self.assertThat(result, IsMatchingInstallList(expected)) + + @mock.patch.object(os, 'environ', dict(DIB_FEATURE='1', **os.environ)) + def test_skip_when(self): + '''Exercise the when flag''' + objs = { + 'skipped_package': { + 'when': 'DIB_FEATURE=0' + }, + 'not_skipped_package': { + 'when': 'DIB_FEATURE=1' + }, + 'not_equal_package': { + 'when': 'DIB_FEATURE!=0' + }, + 'not_equal_skipped_package': { + 'when': 'DIB_FEATURE!=1' + }, + } + + result = installs_squash.collect_data( + self.final_dict, objs, 'test_element') + + expected = { + 'install.d': { + 'install': [('not_skipped_package', 'test_element'), + ('not_equal_package', 'test_element')] + } + } + + self.assertThat(result, IsMatchingInstallList(expected)) + + def test_skip_no_var(self): + '''Exercise the skip_when missing variable failure case''' + objs = { + 'package': { + 'when': 'MISSING_VAR=1' + }, + } + + self.assertRaises(RuntimeError, installs_squash.collect_data, + self.final_dict, objs, 'test_element') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/04-install-pip new/diskimage-builder-2.20.1/diskimage_builder/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/04-install-pip --- old/diskimage-builder-2.18.0/diskimage_builder/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/04-install-pip 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/04-install-pip 2019-02-14 03:13:02.000000000 +0100 @@ -59,15 +59,28 @@ ${YUM:-yum} ${_extra_repo} install -y $packages fi - # pip10 (unlike earlier versions) will not uninstall distutils - # installed packages (note this is only a subset of packages that - # don't use setuptools for various reasons). We give it a little - # help by clearing out the files from the packages we are about to - # re-install so pip doesn't think anything is installed. See: - # https://github.com/pypa/pip/issues/4805 - for pkg in $packages; do - rpm -ql $pkg | xargs rm -rf - done + # pip10 onwards (unlike earlier versions) will not uninstall + # packages installed by distutils (note this is only a subset of + # packages that don't use setuptools for various reasons; the + # problem is essentially they do not include a manifest of files + # in the package to delete, so pip was just guessing). We give it + # a little help by clearing out the files from the packages we are + # about to re-install so pip doesn't think anything is installed. + # See: https://github.com/pypa/pip/issues/4805 + # + # This is only necessary on CentOS -- for complicated reasons of + # course. On Fedora, the Python2 virtualenv packages are *not* + # distutils based and pip overwrites them correctly. For python3, + # pip has changed to not overwrite system packages (a long + # standing difference between Debuntu and Fedora), but a number of + # tools run with "python3 -Es" to isolate themselves to the + # package installed versions. So we definitely don't want to + # clear the packaged versions out in that case. + if [[ $DISTRO_NAME =~ (centos|centos7|rhel7) ]]; then + for pkg in $packages; do + rpm -ql $pkg | xargs rm -rf + done + fi # install the latest python2 pip; this overwrites packaged pip python /tmp/get-pip.py ${pip_args} @@ -99,6 +112,20 @@ # call it explicitly. ln -sf /usr/bin/pip2 /usr/bin/pip rm -f /usr/local/bin/pip + + # So on Fedora, there are now supposed to be two versions of + # python3 setuptools installed; the one installed by pip in + # /usr/local and the one installed by the system + # python3-setuptools rpm package in /usr/local. The idea is + # that packaged python tools use the "system" python (with -Es + # flag) and are isolated from pip installs ... except there is + # an issue where pip clears out the RPM version files before + # installing it's isolated version: + # https://bugzilla.redhat.com/show_bug.cgi?id=1550368 + # + # Thus we need to *reinstall* the RPM version now, so those + # files come back and system tools continue to work + dnf reinstall -y python3-setuptools fi # now install latest virtualenv. it vendors stuff it needs so diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/selinux-permissive/install.d/11-selinux-permissive new/diskimage-builder-2.20.1/diskimage_builder/elements/selinux-permissive/install.d/11-selinux-permissive --- old/diskimage-builder-2.18.0/diskimage_builder/elements/selinux-permissive/install.d/11-selinux-permissive 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/selinux-permissive/install.d/11-selinux-permissive 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -#!/bin/bash - -if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then - set -x -fi -set -eu -set -o pipefail - -echo "SELINUX=permissive" > /etc/selinux/config -echo "SELINUXTYPE=targeted" >> /etc/selinux/config - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/selinux-permissive/pre-install.d/11-selinux-permissive new/diskimage-builder-2.20.1/diskimage_builder/elements/selinux-permissive/pre-install.d/11-selinux-permissive --- old/diskimage-builder-2.18.0/diskimage_builder/elements/selinux-permissive/pre-install.d/11-selinux-permissive 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/selinux-permissive/pre-install.d/11-selinux-permissive 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +echo "SELINUX=permissive" > /etc/selinux/config +echo "SELINUXTYPE=targeted" >> /etc/selinux/config + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/README.rst new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/README.rst --- old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/README.rst 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/README.rst 2019-02-14 03:13:02.000000000 +0100 @@ -58,3 +58,13 @@ DIB_INSTALLTYPE_simple_init=repo DIB_REPOLOCATION_glean=/tmp/glean DIB_REPOREF_glean=my-test-ref + +NetworkManager +-------------- + +By default, this uses the "legacy" scripts on each platform. To use +NetworkManager instead, set ``DIB_SIMPLE_INIT_NETWORKMANAGER`` to +non-zero. See the glean documentation for what the implications for +this are on each platform. + +This is currently only implemented for CentOS and Fedora platforms. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/environment.d/15-simple-init-networkmanager new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/environment.d/15-simple-init-networkmanager --- old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/environment.d/15-simple-init-networkmanager 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/environment.d/15-simple-init-networkmanager 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1 @@ +export DIB_SIMPLE_INIT_NETWORKMANAGER=${DIB_SIMPLE_INIT_NETWORKMANAGER:-0} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/install.d/50-simple-init new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/install.d/50-simple-init --- old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/install.d/50-simple-init 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/install.d/50-simple-init 2019-02-14 03:13:02.000000000 +0100 @@ -24,4 +24,9 @@ # Ensure the 8021q module is loaded so that glean can support tagged interfaces echo "8021q" >> /etc/modules -glean-install +enable_nm="" +if [[ ${DIB_SIMPLE_INIT_NETWORKMANAGER} != 0 ]]; then + enable_nm="--use-nm" +fi + +glean-install ${enable_nm} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/package-installs.yaml new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/package-installs.yaml --- old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/package-installs.yaml 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/package-installs.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -1,3 +1,7 @@ dhcp-client: net-tools: ifupdown: +network-scripts: + when: DIB_SIMPLE_INIT_NETWORKMANAGER = 0 +NetworkManager: + when: DIB_SIMPLE_INIT_NETWORKMANAGER != 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/pkg-map new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/pkg-map --- old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/pkg-map 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/pkg-map 2019-02-14 03:13:02.000000000 +0100 @@ -5,7 +5,8 @@ }, "debian": { "dhcp-client": "isc-dhcp-client", - "ifupdown": "ifupdown" + "ifupdown": "ifupdown", + "NetworkManager": "network-manager" }, "gentoo": { "dhcp-client": "net-misc/dhcp", @@ -16,8 +17,16 @@ "dhcp-client": "dhcp-client" } }, + "release": { + "fedora": { + "29": { + "network-scripts": "network-scripts" + } + } + }, "default": { "dhcp-client": "isc-dhcp-client", - "ifupdown": "" + "ifupdown": "", + "network-scripts": "" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/post-install.d/80-simple-init new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/post-install.d/80-simple-init --- old/diskimage-builder-2.18.0/diskimage_builder/elements/simple-init/post-install.d/80-simple-init 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/simple-init/post-install.d/80-simple-init 2019-02-14 03:13:02.000000000 +0100 @@ -13,9 +13,11 @@ ;; systemd) if [[ ${DISTRO_NAME} =~ (centos|rhel7|fedora) ]]; then - # NOTE(pabelanger): Glean requires network.service for - # these platforms. - systemctl enable network.service + if [[ ${DIB_SIMPLE_INIT_NETWORKMANAGER} != 1 ]]; then + # NOTE(pabelanger): Glean requires network.service for + # these platforms when not using networkmanager + systemctl enable network.service + fi elif [[ ${DISTRO_NAME} =~ (opensuse) ]]; then # on suse, this is named wicked.service, but it's the same # as network.service. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/source-repositories/README.rst new/diskimage-builder-2.20.1/diskimage_builder/elements/source-repositories/README.rst --- old/diskimage-builder-2.18.0/diskimage_builder/elements/source-repositories/README.rst 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/source-repositories/README.rst 2019-02-14 03:13:02.000000000 +0100 @@ -153,7 +153,7 @@ ``DIB_GITREPOBASE`` So setting ``DIB_GITREPOBASE=https://github.com/`` when the repo location is -set to http://git.openstack.org/openstack/nova.git will result in use of the +set to https://git.openstack.org/openstack/nova.git will result in use of the https://github.com/openstack/nova.git repository instead. Disable external fetches diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/yum-minimal/install.d/11-ensure-dbus-broker new/diskimage-builder-2.20.1/diskimage_builder/elements/yum-minimal/install.d/11-ensure-dbus-broker --- old/diskimage-builder-2.18.0/diskimage_builder/elements/yum-minimal/install.d/11-ensure-dbus-broker 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/yum-minimal/install.d/11-ensure-dbus-broker 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Copyright 2019 Red Hat, Inc. +# +# 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. +# + +if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +# Ensure that dbus-broker is enabled; it seems that because of the +# transition between dbus-daemon and dbus-broker (see +# https://pagure.io/fesco/issue/1853) the .spec files could possibly +# not enable this (likely related to ordering or something we do in +# the non-standardish chroot building) and a 2019 system with no dbus +# is very unhappy (networkmanager fails, etc). +if [[ ${DISTRO_NAME} == 'fedora' && ${DIB_RELEASE} -ge 29 ]]; then + systemctl --no-reload enable dbus-broker.service +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/yum-minimal/root.d/08-yum-chroot new/diskimage-builder-2.20.1/diskimage_builder/elements/yum-minimal/root.d/08-yum-chroot --- old/diskimage-builder-2.18.0/diskimage_builder/elements/yum-minimal/root.d/08-yum-chroot 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/yum-minimal/root.d/08-yum-chroot 2019-02-14 03:13:02.000000000 +0100 @@ -278,6 +278,14 @@ # https://bugzilla.redhat.com/show_bug.cgi?id=1398505 _base_packages+="systemd-udev " +# F29 moved to dbus-broker as the default, but dbus-daemon is +# still available. Explicitly pull it in; note we have an +# install.d script to enable the service explicitly it as this +# seems required. +if [[ ${DISTRO_NAME} = fedora && ${DIB_RELEASE} -ge 29 ]]; then + _base_packages+="dbus-broker" +fi + # bootstrap the environment within the chroot; bring in new # metadata with an update and install some base packages we need. sudo -E chroot $TARGET_ROOT ${YUM} -y update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/elements/zipl/finalise.d/50-zipl new/diskimage-builder-2.20.1/diskimage_builder/elements/zipl/finalise.d/50-zipl --- old/diskimage-builder-2.18.0/diskimage_builder/elements/zipl/finalise.d/50-zipl 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/elements/zipl/finalise.d/50-zipl 2019-02-14 03:13:02.000000000 +0100 @@ -34,7 +34,7 @@ # device. # # It's not required if -# * zipl is executed in in a running VM. +# * zipl is executed in a running VM. # * DIB is configured to create partitions (e.g. with the "vm" # element). # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/lib/common-functions new/diskimage-builder-2.20.1/diskimage_builder/lib/common-functions --- old/diskimage-builder-2.18.0/diskimage_builder/lib/common-functions 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/lib/common-functions 2019-02-14 03:13:02.000000000 +0100 @@ -111,11 +111,15 @@ for dir in $(find $element_dir \ -follow -mindepth 1 -maxdepth 1 \ - -type d -not -name tests); do + -type d \ + -not -name tests \ + -not -name __pycache__); do copy_hooks_not_overwrite $dir done for file in $(find $element_dir \ - -follow -maxdepth 1 -type f); do + -follow -maxdepth 1 \ + -type f \ + -not -name '*.pyc'); do cp -t $TMP_HOOKS_PATH -a $file done done @@ -335,6 +339,10 @@ function create_base () { mkdir $TMP_BUILD_DIR/mnt + # Make sure the / inside the chroot is owned by root + # If it is not owned by root, some Ubuntu bionic packages will fail + # path validation at install time. + sudo chown root.root $TMP_BUILD_DIR/mnt export TMP_MOUNT_PATH=$TMP_BUILD_DIR/mnt # Copy data in to the root. TARGET_ROOT=$TMP_MOUNT_PATH run_d root diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/lib/disk-image-create new/diskimage-builder-2.20.1/diskimage_builder/lib/disk-image-create --- old/diskimage-builder-2.18.0/diskimage_builder/lib/disk-image-create 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/lib/disk-image-create 2019-02-14 03:13:02.000000000 +0100 @@ -84,7 +84,7 @@ echo " --docker-target -- specify the repo and tag to use if the output type is docker. Defaults to the value of output imagename" if [ "$IS_RAMDISK" == "0" ]; then echo " -n skip the default inclusion of the 'base' element" - echo " -p package[,p2...] [-p p3] -- extra packages to install in the image. Runs once, after 'install.d' phase. Can be specified mulitple times" + echo " -p package[,p2...] [-p p3] -- extra packages to install in the image. Runs once, after 'install.d' phase. Can be specified multiple times" fi echo " -h|--help -- display this help and exit" echo " --version -- display version and exit" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder/lib/ramdisk-image-create new/diskimage-builder-2.20.1/diskimage_builder/lib/ramdisk-image-create --- old/diskimage-builder-2.18.0/diskimage_builder/lib/ramdisk-image-create 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder/lib/ramdisk-image-create 2019-02-14 03:13:02.000000000 +0100 @@ -84,7 +84,7 @@ echo " --docker-target -- specify the repo and tag to use if the output type is docker. Defaults to the value of output imagename" if [ "$IS_RAMDISK" == "0" ]; then echo " -n skip the default inclusion of the 'base' element" - echo " -p package[,p2...] [-p p3] -- extra packages to install in the image. Runs once, after 'install.d' phase. Can be specified mulitple times" + echo " -p package[,p2...] [-p p3] -- extra packages to install in the image. Runs once, after 'install.d' phase. Can be specified multiple times" fi echo " -h|--help -- display this help and exit" echo " --version -- display version and exit" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder.egg-info/PKG-INFO new/diskimage-builder-2.20.1/diskimage_builder.egg-info/PKG-INFO --- old/diskimage-builder-2.18.0/diskimage_builder.egg-info/PKG-INFO 2018-11-04 23:49:15.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder.egg-info/PKG-INFO 2019-02-14 03:14:32.000000000 +0100 @@ -1,10 +1,10 @@ Metadata-Version: 1.1 Name: diskimage-builder -Version: 2.18.0 +Version: 2.20.1 Summary: Golden Disk Image builder. Home-page: https://docs.openstack.org/diskimage-builder/latest/ Author: OpenStack -Author-email: [email protected] +Author-email: [email protected] License: Apache License (2.0) Description: Image building tools for OpenStack ================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder.egg-info/SOURCES.txt new/diskimage-builder-2.20.1/diskimage_builder.egg-info/SOURCES.txt --- old/diskimage-builder-2.18.0/diskimage_builder.egg-info/SOURCES.txt 2018-11-04 23:49:15.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder.egg-info/SOURCES.txt 2019-02-14 03:14:32.000000000 +0100 @@ -84,6 +84,7 @@ diskimage_builder/block_device/tests/plugin/__init__.py diskimage_builder/block_device/tests/plugin/test_a.py diskimage_builder/block_device/tests/plugin/test_b.py +diskimage_builder/elements/__init__.py diskimage_builder/elements/apt-conf/README.rst diskimage_builder/elements/apt-conf/extra-data.d/99-override-default-apt-conf diskimage_builder/elements/apt-preferences/README.rst @@ -386,6 +387,16 @@ diskimage_builder/elements/hwdiscovery/package-installs.yaml diskimage_builder/elements/hwdiscovery/binary-deps.d/hwdiscovery diskimage_builder/elements/hwdiscovery/init.d/60-hwdiscovery +diskimage_builder/elements/ibft-interfaces/README.rst +diskimage_builder/elements/ibft-interfaces/element-deps +diskimage_builder/elements/ibft-interfaces/package-installs.yaml +diskimage_builder/elements/ibft-interfaces/pkg-map +diskimage_builder/elements/ibft-interfaces/init-scripts/systemd/init-ibft-interfaces.service +diskimage_builder/elements/ibft-interfaces/init-scripts/sysv/init-ibft-interfaces.init +diskimage_builder/elements/ibft-interfaces/init-scripts/upstart/init-ibft-interfaces.conf +diskimage_builder/elements/ibft-interfaces/post-install.d/70-init-ibft-interfaces +diskimage_builder/elements/ibft-interfaces/static/etc/modules-load.d/ibft.conf +diskimage_builder/elements/ibft-interfaces/static/usr/local/sbin/init-ibft-interfaces.sh diskimage_builder/elements/ilo/README.rst diskimage_builder/elements/ilo/extra-data.d/50-ilo-firmware diskimage_builder/elements/ilo/init.d/50-ilo-firmware @@ -424,6 +435,7 @@ diskimage_builder/elements/iscsi-boot/element-deps diskimage_builder/elements/iscsi-boot/package-installs.yaml diskimage_builder/elements/iscsi-boot/environment.d/open-iscsi-config +diskimage_builder/elements/iscsi-boot/extra-data.d/50-check-dracut-regenerate diskimage_builder/elements/iscsi-boot/finalise.d/51-open-iscsi-config diskimage_builder/elements/iscsi-boot/post-install.d/open-iscsi-config diskimage_builder/elements/iso/README.rst @@ -493,6 +505,7 @@ diskimage_builder/elements/opensuse/test-elements/opensuse423-build-succeeds/README.rst diskimage_builder/elements/opensuse/test-elements/opensuse423-build-succeeds/environment.d/10-set-distro.bash diskimage_builder/elements/package-installs/README.rst +diskimage_builder/elements/package-installs/__init__.py diskimage_builder/elements/package-installs/element-deps diskimage_builder/elements/package-installs/bin/package-installs diskimage_builder/elements/package-installs/bin/package-installs-squash @@ -505,6 +518,8 @@ diskimage_builder/elements/package-installs/post-install.d/95-package-uninstalls diskimage_builder/elements/package-installs/pre-install.d/02-package-installs diskimage_builder/elements/package-installs/pre-install.d/99-package-uninstalls +diskimage_builder/elements/package-installs/tests/__init__.py +diskimage_builder/elements/package-installs/tests/test_package_squash.py diskimage_builder/elements/pip-and-virtualenv/README.rst diskimage_builder/elements/pip-and-virtualenv/element-deps diskimage_builder/elements/pip-and-virtualenv/package-installs.yaml @@ -605,12 +620,13 @@ diskimage_builder/elements/select-boot-kernel-initrd/cleanup.d/99-remove-dib-img-functions diskimage_builder/elements/select-boot-kernel-initrd/extra-data.d/99-copy-dib-img-functions diskimage_builder/elements/selinux-permissive/README.rst -diskimage_builder/elements/selinux-permissive/install.d/11-selinux-permissive +diskimage_builder/elements/selinux-permissive/pre-install.d/11-selinux-permissive diskimage_builder/elements/simple-init/README.rst diskimage_builder/elements/simple-init/element-deps diskimage_builder/elements/simple-init/package-installs.yaml diskimage_builder/elements/simple-init/pkg-map diskimage_builder/elements/simple-init/source-repository-simple-init +diskimage_builder/elements/simple-init/environment.d/15-simple-init-networkmanager diskimage_builder/elements/simple-init/environment.d/50-disable-cloud-init diskimage_builder/elements/simple-init/install.d/50-simple-init diskimage_builder/elements/simple-init/install.d/60-simple-init-remove-interfaces @@ -627,6 +643,7 @@ diskimage_builder/elements/stable-interface-names/package-installs.yaml diskimage_builder/elements/stable-interface-names/install.d/02-stable-interface-names diskimage_builder/elements/svc-map/README.rst +diskimage_builder/elements/svc-map/__init__.py diskimage_builder/elements/svc-map/package-installs.yaml diskimage_builder/elements/svc-map/pkg-map diskimage_builder/elements/svc-map/bin/svc-map @@ -712,6 +729,7 @@ diskimage_builder/elements/yum-minimal/pkg-map diskimage_builder/elements/yum-minimal/cleanup.d/95-remove-yum-mirror diskimage_builder/elements/yum-minimal/install.d/10-base-networking +diskimage_builder/elements/yum-minimal/install.d/11-ensure-dbus-broker diskimage_builder/elements/yum-minimal/pre-install.d/03-yum-cleanup diskimage_builder/elements/yum-minimal/root.d/08-yum-chroot diskimage_builder/elements/yum/bin/install-packages @@ -811,6 +829,7 @@ releasenotes/notes/fedora26-690b9fd9ac3c3d4f.yaml releasenotes/notes/grub-timeout-1cdd14a2b1467d89.yaml releasenotes/notes/incorrect-grub-label-5d2000215c0cc73e.yaml +releasenotes/notes/init-ibft-interfaces-9458d97dfcecc3ae.yaml releasenotes/notes/logfile-quiet-b18f2de4059eecfd.yaml releasenotes/notes/move_tidy_logs_to_main-a8c03427fe1a445c.yaml releasenotes/notes/openssh-server-0f6d065748a2fc18.yaml @@ -822,6 +841,9 @@ releasenotes/notes/pre-finalise-stage-574ae7886274bcba.yaml releasenotes/notes/remove-dib-utils-37f70dfad54900a0.yaml releasenotes/notes/runtime-ssh-host-keys-7a2fc873cc90d33e.yaml +releasenotes/notes/selinux-permissive-pre-install-ce19461ef17ec972.yaml +releasenotes/notes/simple-init-nm-f0896124dee92a03.yaml +releasenotes/notes/skip-packages-env-c97e7b4820f9bfda.yaml releasenotes/notes/squashfs-output-91c1f0dc37474d3c.yaml releasenotes/notes/start-using-reno-446b3d52a467a273.yaml releasenotes/notes/sysprep-f3fd036bc1d2c405.yaml @@ -840,8 +862,6 @@ roles/dib-setup-gate-mirrors/templates/centos-minimal/base.repo.j2 roles/dib-setup-gate-mirrors/templates/centos-minimal/extras.repo.j2 roles/dib-setup-gate-mirrors/templates/centos-minimal/updates.repo.j2 -roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora-updates.repo.j2 -roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora.repo.j2 roles/dib-setup-gate-mirrors/templates/fedora-minimal/default/fedora-updates.repo.j2 roles/dib-setup-gate-mirrors/templates/fedora-minimal/default/fedora.repo.j2 tests/README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/diskimage_builder.egg-info/pbr.json new/diskimage-builder-2.20.1/diskimage_builder.egg-info/pbr.json --- old/diskimage-builder-2.18.0/diskimage_builder.egg-info/pbr.json 2018-11-04 23:49:15.000000000 +0100 +++ new/diskimage-builder-2.20.1/diskimage_builder.egg-info/pbr.json 2019-02-14 03:14:32.000000000 +0100 @@ -1 +1 @@ -{"git_version": "f0a8476", "is_release": true} \ No newline at end of file +{"git_version": "25ba034", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/doc/source/user_guide/supported_distros.rst new/diskimage-builder-2.20.1/doc/source/user_guide/supported_distros.rst --- old/diskimage-builder-2.18.0/doc/source/user_guide/supported_distros.rst 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/doc/source/user_guide/supported_distros.rst 2019-02-14 03:13:02.000000000 +0100 @@ -5,7 +5,7 @@ - Centos 6, 7 - Debian 8 ("jessie") -- Fedora 27, 28 +- Fedora 28, 29 - RHEL 6, 7 - Ubuntu 14.04 ("trusty") - Gentoo @@ -16,7 +16,7 @@ - Centos 6, 7 - Debian 8 ("jessie") -- Fedora 27, 28 +- Fedora 28, 29 - RHEL 6, 7 - Ubuntu 12.04 ("precise"), 14.04 ("trusty") - Gentoo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/releasenotes/notes/init-ibft-interfaces-9458d97dfcecc3ae.yaml new/diskimage-builder-2.20.1/releasenotes/notes/init-ibft-interfaces-9458d97dfcecc3ae.yaml --- old/diskimage-builder-2.18.0/releasenotes/notes/init-ibft-interfaces-9458d97dfcecc3ae.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/releasenotes/notes/init-ibft-interfaces-9458d97dfcecc3ae.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,6 @@ +--- +features: + - | + Adds a new element ``init-ibft-interfaces`` to initialize network + interfaces with configuration provided via iBFT. The new element is now + a dependency of the ``ironic-agent`` element. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/releasenotes/notes/package-outside-debootstrap-ac93e9ce991819f1.yaml new/diskimage-builder-2.20.1/releasenotes/notes/package-outside-debootstrap-ac93e9ce991819f1.yaml --- old/diskimage-builder-2.18.0/releasenotes/notes/package-outside-debootstrap-ac93e9ce991819f1.yaml 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/releasenotes/notes/package-outside-debootstrap-ac93e9ce991819f1.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -1,5 +1,5 @@ --- fixes: - - The `debian-minimal` and and `ubuntu-minimal` elements now install + - The `debian-minimal` and `ubuntu-minimal` elements now install directly from the updates repo, avoiding the need to double-install packages during build. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/releasenotes/notes/selinux-permissive-pre-install-ce19461ef17ec972.yaml new/diskimage-builder-2.20.1/releasenotes/notes/selinux-permissive-pre-install-ce19461ef17ec972.yaml --- old/diskimage-builder-2.18.0/releasenotes/notes/selinux-permissive-pre-install-ce19461ef17ec972.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/releasenotes/notes/selinux-permissive-pre-install-ce19461ef17ec972.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,7 @@ +--- +other: + - | + Setting values with the ``selinux-permissive`` element has been + moved from ``install.d`` to ``pre-install.d`` phase to avoid + selinux related packages being installed before the settings are + applied. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/releasenotes/notes/simple-init-nm-f0896124dee92a03.yaml new/diskimage-builder-2.20.1/releasenotes/notes/simple-init-nm-f0896124dee92a03.yaml --- old/diskimage-builder-2.18.0/releasenotes/notes/simple-init-nm-f0896124dee92a03.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/releasenotes/notes/simple-init-nm-f0896124dee92a03.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,5 @@ +--- +features: + - | + The `simple-init` element can now use NetworkManager instead of + legacy scripts on Red Hat platforms. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/releasenotes/notes/skip-packages-env-c97e7b4820f9bfda.yaml new/diskimage-builder-2.20.1/releasenotes/notes/skip-packages-env-c97e7b4820f9bfda.yaml --- old/diskimage-builder-2.18.0/releasenotes/notes/skip-packages-env-c97e7b4820f9bfda.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/diskimage-builder-2.20.1/releasenotes/notes/skip-packages-env-c97e7b4820f9bfda.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -0,0 +1,7 @@ +--- +features: + - | + The `package-installs` element now supports skipping installation + of packages based on an environment variable specified in the + config file. See the `package-installs` element documentation for + full details. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/tasks/main.yaml new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/tasks/main.yaml --- old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/tasks/main.yaml 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/tasks/main.yaml 2019-02-14 03:13:02.000000000 +0100 @@ -28,9 +28,10 @@ state: directory mode: 0775 recurse: yes + # sometimes Fedora moves things and we need different versions; keep + # the loops for future use. with_items: - default - - '28' - name: Install fedora-minimal repo files template: @@ -38,5 +39,5 @@ mode: 0644 src: "fedora-minimal/{{ item[0] }}/{{ item[1] }}.j2" with_nested: - - [ 'default', '28' ] + - [ 'default' ] - [ 'fedora.repo', 'fedora-updates.repo' ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora-updates.repo.j2 new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora-updates.repo.j2 --- old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora-updates.repo.j2 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora-updates.repo.j2 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -[updates] -name=Fedora $releasever - $basearch - Updates -failovermethod=priority -baseurl=http://{{ mirror_fqdn }}/fedora/updates/$releasever/Everything/$basearch/ -enabled=1 -gpgcheck=0 -metadata_expire=6h -skip_if_unavailable=False -deltarpm=False -deltarpm_percentage=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora.repo.j2 new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora.repo.j2 --- old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora.repo.j2 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/templates/fedora-minimal/28/fedora.repo.j2 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -[fedora] -name=Fedora $releasever - $basearch -failovermethod=priority -baseurl=http://{{ mirror_fqdn }}/fedora/releases/$releasever/Everything/$basearch/os/ -enabled=1 -metadata_expire=7d -gpgcheck=0 -skip_if_unavailable=False -deltarpm=False -deltarpm_percentage=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/templates/fedora-minimal/default/fedora-updates.repo.j2 new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/templates/fedora-minimal/default/fedora-updates.repo.j2 --- old/diskimage-builder-2.18.0/roles/dib-setup-gate-mirrors/templates/fedora-minimal/default/fedora-updates.repo.j2 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/roles/dib-setup-gate-mirrors/templates/fedora-minimal/default/fedora-updates.repo.j2 2019-02-14 03:13:02.000000000 +0100 @@ -1,7 +1,7 @@ [updates] name=Fedora $releasever - $basearch - Updates failovermethod=priority -baseurl=http://{{ mirror_fqdn }}/fedora/updates/$releasever/$basearch/ +baseurl=http://{{ mirror_fqdn }}/fedora/updates/$releasever/Everything/$basearch/ enabled=1 gpgcheck=0 metadata_expire=6h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/setup.cfg new/diskimage-builder-2.20.1/setup.cfg --- old/diskimage-builder-2.18.0/setup.cfg 2018-11-04 23:49:15.000000000 +0100 +++ new/diskimage-builder-2.20.1/setup.cfg 2019-02-14 03:14:33.000000000 +0100 @@ -4,7 +4,7 @@ description-file = README.rst author = OpenStack -author-email = [email protected] +author-email = [email protected] license = Apache License (2.0) home-page = https://docs.openstack.org/diskimage-builder/latest/ classifier = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/test-requirements.txt new/diskimage-builder-2.20.1/test-requirements.txt --- old/diskimage-builder-2.18.0/test-requirements.txt 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/test-requirements.txt 2019-02-14 03:13:02.000000000 +0100 @@ -2,7 +2,8 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. hacking<0.11,>=0.10.0 -pylint==1.7.6 # GPLv2 +pylint==1.7.6;python_version=='2.7' # GPLv2 +pylint;python_version>'3.0' #GPLv2 fixtures>=3.0.0 # Apache-2.0/BSD mock>=2.0.0 # BSD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/tests/run_functests.sh new/diskimage-builder-2.20.1/tests/run_functests.sh --- old/diskimage-builder-2.18.0/tests/run_functests.sh 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/tests/run_functests.sh 2019-02-14 03:13:02.000000000 +0100 @@ -122,7 +122,7 @@ mv "$filename" ${filename/.log/.$status.log} } -# run_disk_element_test <test_element> <element> <use_tmp> <output_formats> +# run_disk_element_test <test_element> <element> <use_tmp> <output_format> <logfile> # Run a disk-image-build build of ELEMENT including any elements # specified by TEST_ELEMENT. Pass OUTPUT_FORMAT to "-t" function run_disk_element_test() { @@ -198,28 +198,42 @@ fi } -# run_ramdisk_element_test <test_element> <element> +# run_ramdisk_element_test <test_element> <element> <use_tmp> <output_formats> # Run a disk-image-builder default build of ELEMENT including any # elements specified by TEST_ELEMENT function run_ramdisk_element_test() { local test_element=$1 local element=$2 + local dont_use_tmp=$3 + local output_format="$4" # ignored here + local logfile="$5" local dest_dir=$(mktemp -d) + local use_tmp_flag="" + if [ "${dont_use_tmp}" = "yes" ]; then + use_tmp_flag="--no-tmpfs" + fi + if ELEMENTS_PATH=$DIB_ELEMENTS/$element/test-elements \ - $DIB_CMD -x -o $dest_dir/image $element $test_element \ + $DIB_CMD -x -o ${dest_dir}/image \ + ${logfile} \ + ${use_tmp_flag} \ + ${element} ${test_element} 2>&1 \ | log_with_prefix "${element}/${test_element}"; then # TODO(dtantsur): test also kernel presence once we sort out its naming # problem (vmlinuz vs kernel) if ! [ -f "$dest_dir/image.initramfs" ]; then echo "Error: Build failed for element: $element, test-element: $test_element." echo "No image $dest_dir/image.initramfs found!" + logfile_status "FAIL" "${logfile}" exit 1 else echo "PASS: Element $element, test-element: $test_element" + logfile_status "PASS" "${logfile}" fi else echo "Error: Build failed for element: $element, test-element: $test_element." + logfile_status "FAIL" "${logfile}" exit 1 fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/diskimage-builder-2.18.0/tox.ini new/diskimage-builder-2.20.1/tox.ini --- old/diskimage-builder-2.18.0/tox.ini 2018-11-04 23:48:16.000000000 +0100 +++ new/diskimage-builder-2.20.1/tox.ini 2019-02-14 03:13:02.000000000 +0100 @@ -1,5 +1,5 @@ [tox] -envlist = py35,py27,pep8,pylint +envlist = pep8,pylint,py37,py36,py35,py27 minversion = 2.0 skipsdist = True
