From 0cba3b2ccdcb556eaf31e520ec97e4e624baa01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Andr=C3=A9?= Date: Thu, 15 Jun 2017 15:42:06 +0200 Subject: [PATCH] Permit changing yum configuration in the base image This commit allows to configure yum settings via a yum.conf file that is shipped in the base image and make it overridable with the base_yum_conf jinja2 block. Change-Id: I76a84ec008fec5696cadefdbdeb4204a32421c4b Closes-Bug: #1698134 --- docker/base/Dockerfile.j2 | 4 ++++ docker/base/yum.conf | 9 +++++++++ docker/macros.j2 | 2 +- releasenotes/notes/yum_conf-36fef802e8c003f1.yaml | 4 ++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 docker/base/yum.conf create mode 100644 releasenotes/notes/yum_conf-36fef802e8c003f1.yaml diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 2f5b5ea988..60603ec5fc 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -40,6 +40,10 @@ RUN CURRENT_DISTRO_RELEASE=$(awk '{match($0, /[0-9]+/,version)}END{print version && cat /tmp/kolla_bashrc >> /etc/bashrc \ && sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/yum.conf +{% block base_yum_conf %} +COPY yum.conf /etc/yum.conf +{% endblock %} + #### BEGIN REPO ENABLEMENT {% set base_yum_repo_files = [ ] %} diff --git a/docker/base/yum.conf b/docker/base/yum.conf new file mode 100644 index 0000000000..6714771e86 --- /dev/null +++ b/docker/base/yum.conf @@ -0,0 +1,9 @@ +[main] +keepcache=0 +logfile=/var/log/yum.log +exactarch=1 +obsoletes=1 +gpgcheck=1 +plugins=1 +installonly_limit=0 +skip_missing_names_on_install=False diff --git a/docker/macros.j2 b/docker/macros.j2 index 8c323cde6a..3be0ef5e1e 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -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 --setopt skip_missing_names_on_install=False -y install {{ packages | join(' ') }} && yum clean all + RUN yum -y install {{ packages | join(' ') }} && yum clean all {%- elif base_distro in ['debian', 'ubuntu'] -%} {#- debian_package_install is a utility method to build up an appropriate diff --git a/releasenotes/notes/yum_conf-36fef802e8c003f1.yaml b/releasenotes/notes/yum_conf-36fef802e8c003f1.yaml new file mode 100644 index 0000000000..8998c3a846 --- /dev/null +++ b/releasenotes/notes/yum_conf-36fef802e8c003f1.yaml @@ -0,0 +1,4 @@ +--- +features: + - Allow to configure yum settings, and provide a default yum.conf that is + overridable via the base_yum_conf jinja2 block.