From e5788a06e4efab9988be80a4a53df45c2e99318f Mon Sep 17 00:00:00 2001 From: "Michal (inc0) Jastrzebski" Date: Tue, 14 Jun 2016 19:30:38 +0000 Subject: [PATCH] Customizations for heat This patchset contains customization of Dockerfile of heat containers Change-Id: I3c2bae909ec6e8c3b0e460115ded3cc2456a212f Partially-implements: blueprint third-party-plugin-support --- docker/heat/heat-api/Dockerfile.j2 | 16 ++++++--------- docker/heat/heat-base/Dockerfile.j2 | 19 ++++++++---------- docker/heat/heat-engine/Dockerfile.j2 | 28 +++++++++++++-------------- 3 files changed, 27 insertions(+), 36 deletions(-) diff --git a/docker/heat/heat-api/Dockerfile.j2 b/docker/heat/heat-api/Dockerfile.j2 index 990d8df513..22cae4177b 100644 --- a/docker/heat/heat-api/Dockerfile.j2 +++ b/docker/heat/heat-api/Dockerfile.j2 @@ -1,25 +1,21 @@ FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} {% if install_type == 'binary' %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} - -RUN yum -y install \ - openstack-heat-api \ - && yum clean all - + {% set heat_api_packages = ['openstack-heat-api'] %} {% elif base_distro in ['ubuntu'] %} - -RUN apt-get -y install --no-install-recommends \ - heat-api \ - && apt-get clean - + {% set heat_api_packages = ['heat-api'] %} {% endif %} +RUN {{ macros.install_packages(heat_api_packages | customizable("packages")) }} {% endif %} COPY extend_start.sh /usr/local/bin/kolla_heat_extend_start RUN chmod 755 /usr/local/bin/kolla_heat_extend_start +{% block heat_api_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }} USER heat diff --git a/docker/heat/heat-base/Dockerfile.j2 b/docker/heat/heat-base/Dockerfile.j2 index 0085eb545e..23287ee09d 100644 --- a/docker/heat/heat-base/Dockerfile.j2 +++ b/docker/heat/heat-base/Dockerfile.j2 @@ -1,20 +1,17 @@ FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} - {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} -RUN yum -y install \ - openstack-heat-common \ - && yum clean all +{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} + {% set heat_base_packages = ['openstack-heat-common'] %} +{% elif base_distro in ['ubuntu'] %} + {% set heat_base_packages = ['heat-common'] %} +{% endif %} +RUN {{ macros.install_packages(heat_base_packages | customizable("packages")) }} - {% elif base_distro in ['ubuntu'] %} - -RUN apt-get -y install --no-install-recommends \ - heat-common \ - && apt-get clean - - {% endif %} {% elif install_type == 'source' %} ADD heat-base-archive /heat-base-source diff --git a/docker/heat/heat-engine/Dockerfile.j2 b/docker/heat/heat-engine/Dockerfile.j2 index 4c7335f682..e0d5ede546 100644 --- a/docker/heat/heat-engine/Dockerfile.j2 +++ b/docker/heat/heat-engine/Dockerfile.j2 @@ -1,25 +1,23 @@ FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }} MAINTAINER {{ maintainer }} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} - -# TODO(SamYaple): until packaging is fixed, all of the python clients below are required -# http://pkgs.fedoraproject.org/cgit/openstack-heat.git/tree/openstack-heat.spec#n248 -RUN yum -y install \ - python-barbicanclient \ - python-zaqarclient \ - openstack-heat-engine \ - && yum clean all - - {% elif base_distro in ['ubuntu'] %} - -RUN apt-get -y install --no-install-recommends \ - heat-engine \ - && apt-get clean - + {% set heat_engine_packages = [ + 'python-barbicanclient', + 'python-zaqarclient', + 'openstack-heat-engine' + ] %} + {% elif base_distro in ['ubuntu'] %} + {% set heat_engine_packages = ['heat-engine'] %} {% endif %} +RUN {{ macros.install_packages(heat_engine_packages | customizable("packages")) }} + {% endif %} +{% block heat_engine_footer %}{% endblock %} +{% block footer %}{% endblock %} {{ include_footer }}