summaryrefslogtreecommitdiff
path: root/docker/macros.j2
diff options
context:
space:
mode:
authorShaun Smekel <shaun.smekel@theorem.net.au>2016-08-12 08:24:11 +1000
committerPaul Bourke <paul.bourke@oracle.com>2016-08-19 10:49:03 +0000
commita9d08726f5a48eef77c04ea1acefc00d93ce7076 (patch)
tree73762d7fd4f9b95cba8fbefe273de9a9db8eabb7 /docker/macros.j2
parent0b7e853784c2c0db115b0e72a3f7fc58c86c7660 (diff)
downloadkolla-a9d08726f5a48eef77c04ea1acefc00d93ce7076.tar.gz
kolla-a9d08726f5a48eef77c04ea1acefc00d93ce7076.zip
Handle empty package list for install_packages
Currently if the install_packages macro is run with an empty package list, it will add a yum or apt-get command with no packages listed. This bug fix aims to omit this line when no packages have been given, or, the operator wants to use the "_override" / "_remove" functionality to disable all packages being installed in a Dockerfile. Co-Authored-By: Paul Bourke <paul.bourke@oracle.com> Change-Id: Ifaaaebfccc3adb0f2f68a35ac08e59378bc87fdb Closes-bug: 1612446
Diffstat (limited to 'docker/macros.j2')
-rw-r--r--docker/macros.j220
1 files changed, 11 insertions, 9 deletions
diff --git a/docker/macros.j2 b/docker/macros.j2
index 5cdb12b4c..494feb2f4 100644
--- a/docker/macros.j2
+++ b/docker/macros.j2
@@ -1,12 +1,14 @@
{% macro install_packages(packages) -%}
-{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] -%}
- yum -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
- set of commands to install packages in a debian-based environment that
- may include URL links to a .deb package (e.g, heka)
- -#}
- {{ debian_package_install(packages) }}
+{% if packages is defined and packages|length > 0 -%}
+ {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] -%}
+ RUN yum -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
+ set of commands to install packages in a debian-based environment that
+ may include URL links to a .deb package (e.g, heka)
+ -#}
+ RUN {{ debian_package_install(packages) }}
+ {%- endif %}
{%- endif %}
{%- endmacro %}