make yum fail on missing packages

By default yum skips missing packages. As a result built images may not
contain what we expect them to have (often found on non-x86
architectures).

There is an option to make it fail in same way as APT does in Debian
world. And this patch makes use of it so broken images just fail:

INFO:kolla.image.build.openstack-base:No package Percona-Server-shared-56 available.
INFO:kolla.image.build.openstack-base:Error: Not tolerating missing names on install, stopping.
INFO:kolla.image.build.openstack-base:
INFO:kolla.image.build.openstack-base:Removing intermediate container d5e506330b08
ERROR:kolla.image.build.openstack-base:Error'd with the following message

Closes-Bug: #1675401

Change-Id: Ib6b9e6b8cc216ce283cd043fa3600db7c0cc2a98
This commit is contained in:
Marcin Juszkiewicz 2017-03-23 12:28:35 +01:00
parent ce716ebe22
commit d2c8372e99

View File

@ -1,7 +1,7 @@
{% macro install_packages(packages) -%}
{% if packages is defined and packages|length > 0 -%}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] -%}
RUN yum -y install {{ packages | join(' ') }} && yum clean all
RUN yum --setopt skip_missing_names_on_install=False -y install {{ packages | join(' ') }} && yum clean all
{%- elif base_distro in ['ubuntu', 'debian'] -%}
{#-
debian_package_install is a utility method to build up an appropriate