From d1702568960bee8524204794c68085529c4b8b08 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 13 Feb 2019 09:58:17 -0500 Subject: Introduce clean_package_cache Default to true (to maintain backward compatibility), this parameter will allow to disable the Package cache cleaning when building the Kolla images. In TripleO, we are investigating how we can accelerate the builds by not cleaning the Yum cache and this patch will help us to do so. Also included same for deb package_install method. Co-Authored-By: Jon Schlueter Change-Id: I0adc85302dfe0411d362c899f3e0d6a0019680d4 --- docker/base/Dockerfile.j2 | 12 ++++++------ docker/macros.j2 | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'docker') diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 46c4a8d79..d126d2609 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -156,9 +156,9 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 rpm --import {{ key }} \ {% endfor -%} {%- if base_centos_yum_repo_keys|customizable('centos_yum_repo_keys')|length == 0 %}RUN {% else %} && {% endif -%} - yum -y update --security --sec-severity=Important --sec-severity=Critical \ + yum -y update --security --sec-severity=Important --sec-severity=Critical{% if clean_package_cache %} \ && yum clean all \ - && rm -rf /var/cache/yum + && rm -rf /var/cache/yum{% endif %} {% endif %} {# Endif for base_distro centos #} @@ -180,9 +180,9 @@ RUN yum-config-manager --enable rhel-7-server-optional-rpms \ && yum-config-manager --enable rhel-7-server-rhceph-2-osd-rpms \ && yum-config-manager --enable rhel-7-server-rhceph-2-mon-rpms \ && yum-config-manager --enable rhel-7-server-rhceph-2-tools-rpms \ - && yum -y update --security --sec-severity=Important --sec-severity=Critical \ + && yum -y update --security --sec-severity=Important --sec-severity=Critical{% if clean_package_cache %} \ && yum clean all \ - && rm -rf /var/cache/yum + && rm -rf /var/cache/yum{% endif %} {% endblock %} {% endif %} @@ -210,9 +210,9 @@ RUN yum -y install \ && yum-config-manager --enable ol7_optional_latest ol7_addons \ && yum -y install \ yum-plugin-priorities \ - && yum -y update --security --sec-severity=Important --sec-severity=Critical \ + && yum -y update --security --sec-severity=Important --sec-severity=Critical{% if clean_package_cache %} \ && yum clean all \ - && rm -rf /var/cache/yum + && rm -rf /var/cache/yum{% endif %} {% endblock %} {% endif %} diff --git a/docker/macros.j2 b/docker/macros.j2 index 3e1353e71..dcc9bb0bb 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -1,14 +1,16 @@ {% macro install_packages(packages) -%} {% if packages is defined and packages|length > 0 -%} {% if base_package_type == 'rpm' -%} - RUN {{ distro_package_manager }} -y install {{ packages | join(' ') }} && {{ distro_package_manager }} clean all && rm -rf /var/cache/{{ distro_package_manager }} + RUN {{ distro_package_manager }} -y install {{ packages | join(' ') }} + {%- if clean_package_cache %} \ + && {{ distro_package_manager }} clean all && rm -rf /var/cache/{{ distro_package_manager }}{% endif %} {%- elif base_package_type == 'deb' -%} {#- debian_package_install is a utility method to build up an appropriate set of commands to install packages in a debian-based environment that may include URL links to a .deb package -#} - RUN {{ debian_package_install(packages) }} + RUN {{ debian_package_install(packages, clean_package_cache) }} {%- endif %} {%- endif %} {%- endmacro %} -- cgit v1.2.3