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
 


Reply via email to