summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorAlex Schultz <aschultz@redhat.com>2019-02-25 16:04:39 -0700
committerAlex Schultz <aschultz@redhat.com>2019-03-12 18:24:29 +0000
commit78c819d6232b3fa5c6fb6aa5ea85a54c596f0b56 (patch)
tree1bf168eae2fb5f47b01cccb2677c94a82a406439 /docker
parent3e5d8e2653db1c6c28cb428f81cd0bc332c623c3 (diff)
downloadkolla-78c819d6232b3fa5c6fb6aa5ea85a54c596f0b56.tar.gz
kolla-78c819d6232b3fa5c6fb6aa5ea85a54c596f0b56.zip
Add distro_package_manager configuration
Add configuration to allow the switch between dnf/yum or provide an alternative package manager. Change-Id: I913769fcf5875a12b4561958cf7c90b74cd116ea
Diffstat (limited to 'docker')
-rw-r--r--docker/base/Dockerfile.j26
-rw-r--r--docker/base/dnf.conf12
-rw-r--r--docker/collectd/Dockerfile.j22
-rw-r--r--docker/macros.j22
4 files changed, 20 insertions, 2 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index 5eeec4e09..0c34c30a0 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -39,7 +39,7 @@ RUN CURRENT_DISTRO_RELEASE=$(awk '{match($0, /[0-9]+/,version)}END{print version
echo "Only release '{{ supported_distro_release }}' is supported on {{ base_distro }}"; false; \
fi \
&& cat /tmp/kolla_bashrc >> /etc/bashrc \
- && sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/yum.conf
+ && sed -i 's|^\(override_install_langs=.*\)|# \1|' {% if distro_package_manager == 'dnf' %}/etc/dnf/dnf.conf{% else %}/etc/yum.conf{% endif %}
{% block base_yum_conf %}
@@ -52,7 +52,11 @@ RUN CURRENT_DISTRO_RELEASE=$(awk '{match($0, /[0-9]+/,version)}END{print version
RUN echo {{ centos_contentdir }} >> /etc/yum/vars/contentdir
{% endif %}
+{% if distro_package_manager == 'dnf' %}
+COPY dnf.conf /etc/dnf/dnf.conf
+{% else %}
COPY yum.conf /etc/yum.conf
+{% endif %}
{% endblock %}
diff --git a/docker/base/dnf.conf b/docker/base/dnf.conf
new file mode 100644
index 000000000..500e34e8a
--- /dev/null
+++ b/docker/base/dnf.conf
@@ -0,0 +1,12 @@
+[main]
+keepcache=0
+logfile=/var/log/dnf.log
+exactarch=1
+obsoletes=1
+gpgcheck=1
+plugins=1
+installonly_limit=0
+skip_missing_names_on_install=False
+clean_requirements_on_remove=True
+tsflags=nodocs
+install_weak_deps=False \ No newline at end of file
diff --git a/docker/collectd/Dockerfile.j2 b/docker/collectd/Dockerfile.j2
index 6747edd1f..44019e3a5 100644
--- a/docker/collectd/Dockerfile.j2
+++ b/docker/collectd/Dockerfile.j2
@@ -86,8 +86,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% endif %}
{% endif %}
+ {% if distro_package_manager == 'yum' %}
# make sure, collectd is pulled from centos-opstools
RUN yum-config-manager --disable epel
+ {% endif %}
{% endif %}
{{ macros.install_packages(collectd_packages | customizable("packages")) }}
diff --git a/docker/macros.j2 b/docker/macros.j2
index ee1ff93c4..3e1353e71 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_package_type == 'rpm' -%}
- RUN yum -y install {{ packages | join(' ') }} && yum clean all && rm -rf /var/cache/yum
+ RUN {{ distro_package_manager }} -y install {{ packages | join(' ') }} && {{ distro_package_manager }} clean all && rm -rf /var/cache/{{ distro_package_manager }}
{%- elif base_package_type == 'deb' -%}
{#-
debian_package_install is a utility method to build up an appropriate