diskimage-builder/elements/yum-minimal
Ian Wienand 6f622fb7c9 yum-minimal: clear our rpm/dnf/yum data in chroot
I have seem some occasional odd failures coming from the "dnf -y
update" done by elements/base/install.d/00-up-to-date.

dnf seems to sometimes think a package is not installed when it really
is.  It then seems to try and re-install them, but notices they are
installed, and then bails with a failure exit [1].  The packages that
seem to cause this vary, but the common thread is that they seem to
have all been installed during the initial phase of installing the
package manager in the chroot.

I suspect that when we are building the chroot, we do our initial
install with the "external" yum & rpm.  Then we start using the
dnf/yum in the chroot, but we're actually using meta-data created by
the *external* tools -- which could be vastly different versions or
who-knows-what.  While I honestly I don't have an exact root cause,
empirically I've found rebuilding the rpm db always seems to fix
things up.

So this change takes care to rebuild the rpm db with the chroot
version of rpm, and clear out the package metadata for a refresh with
"update".  This should hopefully put us in a consistent state.

[1] http://paste.openstack.org/show/487356/

Change-Id: I565df23897ae511356c4861fdbe63823fa6b6ff9
2016-03-08 14:53:52 +11:00
..
install.d yum-minimal: do not configure eth0 & eth1 for DHCP automatically 2015-12-22 08:39:04 +11:00
pre-install.d Add a yum-minimal element that just uses yum 2015-04-14 13:39:18 -04:00
root.d yum-minimal: clear our rpm/dnf/yum data in chroot 2016-03-08 14:53:52 +11:00
element-deps Add a yum-minimal element that just uses yum 2015-04-14 13:39:18 -04:00
package-installs.yaml yum-minimal : install selinux policy packages 2015-12-22 08:45:20 +11:00
pkg-map Add a yum-minimal element that just uses yum 2015-04-14 13:39:18 -04:00
README.rst yum-minimal: do not configure eth0 & eth1 for DHCP automatically 2015-12-22 08:39:04 +11:00

===========
yum-minimal
===========
Base element for creating minimal yum-based images.

This element is incomplete by itself, you'll want to use the centos-minimal
or fedora-minimal elements to get an actual base image.

Use of this element will require 'yum' and 'yum-utils' to be installed on
Ubuntu and Debian. Nothing additional is needed on Fedora or CentOS.

The `DIB_OFFLINE` or more specific `DIB_YUMCHROOT_USE_CACHE`
variables can be set to prefer the use of a pre-cached root filesystem
tarball.

If you wish to have DHCP networking setup for eth0 & eth1 via
/etc/sysconfig/network-config scripts/ifcfg-eth[0|1], set the
environment variable `DIB_YUM_MINIMAL_CREATE_INTERFACES` to `1`.