diff --git a/docker/mistral/mistral-api/Dockerfile.j2 b/docker/mistral/mistral-api/Dockerfile.j2
index c2b3e3ea8a5bb15d55e8c99e89cd1f70e7b98530..ed90c8b0bb3e55ed42e2bf5e8636219df61f7cc9 100644
--- a/docker/mistral/mistral-api/Dockerfile.j2
+++ b/docker/mistral/mistral-api/Dockerfile.j2
@@ -1,25 +1,21 @@
 FROM {{ namespace }}/{{ image_prefix }}mistral-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-mistral-api \
-    && yum clean all
-
+       {% set mistral_api_packages = ['openstack-mistral-api'] %}
     {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        mistral-api \
-    && apt-get clean
-
+        {% set mistral_api_packages = ['mistral-api'] %}
     {% endif %}
+RUN {{ macros.install_packages(mistral_api_packages | customizable("packages")) }}
 {% endif %}
 
 COPY extend_start.sh /usr/local/bin/kolla_mistral_extend_start
 RUN chmod 755 /usr/local/bin/kolla_mistral_extend_start
 
+{% block mistral_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
 {{ include_footer }}
 
 USER mistral
diff --git a/docker/mistral/mistral-base/Dockerfile.j2 b/docker/mistral/mistral-base/Dockerfile.j2
index 782d31c977060718ab862a276cd47e83c4bc2de5..a31286799135c7bf676c2121b4f802806245e6f5 100644
--- a/docker/mistral/mistral-base/Dockerfile.j2
+++ b/docker/mistral/mistral-base/Dockerfile.j2
@@ -1,21 +1,16 @@
 FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
 MAINTAINER {{ maintainer }}
 
-{% if install_type == 'binary' %}
-
-    {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
-
-RUN yum -y install \
-        openstack-mistral-common \
-    && yum clean all
+{% import "macros.j2" as macros with context %}
 
-    {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        mistral-common \
-    && apt-get clean
+{% if install_type == 'binary' %}
 
-    {% endif %}
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+    {% set mistral_base_packages = ['openstack-mistral-common'] %}
+{% elif base_distro in ['ubuntu'] %}
+    {% set mistral_base_packages = ['mistral-common'] %}
+{% endif %}
+RUN {{ macros.install_packages(mistral_base_packages | customizable("packages")) }}
 
 {% elif install_type == 'source' %}
 
diff --git a/docker/mistral/mistral-engine/Dockerfile.j2 b/docker/mistral/mistral-engine/Dockerfile.j2
index 7381290f1c8de117a8c2e780132241f1fb878b8c..f12f3d868441632d7e942f30f80a11d1f9203108 100644
--- a/docker/mistral/mistral-engine/Dockerfile.j2
+++ b/docker/mistral/mistral-engine/Dockerfile.j2
@@ -1,21 +1,19 @@
 FROM {{ namespace }}/{{ image_prefix }}mistral-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-mistral-engine \
-    && yum clean all
-
+       {% set mistral_engine_packages = ['openstack-mistral-engine'] %}
     {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        mistral-engine \
-    && apt-get clean
-
+        {% set mistral_engine_packages = ['mistral-engine'] %}
     {% endif %}
+RUN {{ macros.install_packages(mistral_engine_packages | customizable("packages")) }}
+
 {% endif %}
+{% block mistral_engine_footer %}{% endblock %}
+{% block footer %}{% endblock %}
 
 {{ include_footer }}
 
diff --git a/docker/mistral/mistral-executor/Dockerfile.j2 b/docker/mistral/mistral-executor/Dockerfile.j2
index b5b426cddc84a9d0f7e4dc0423b4e8180616e539..3ab176bd73c79b8d2437f2bd4e1785cc1802f4ec 100644
--- a/docker/mistral/mistral-executor/Dockerfile.j2
+++ b/docker/mistral/mistral-executor/Dockerfile.j2
@@ -1,21 +1,19 @@
 FROM {{ namespace }}/{{ image_prefix }}mistral-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-mistral-executor \
-    && yum clean all
-
+       {% set mistral_executor_packages = ['openstack-mistral-executor'] %}
     {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        mistral-executor \
-    && apt-get clean
-
+        {% set mistral_executor_packages = ['mistral-executor'] %}
     {% endif %}
+RUN {{ macros.install_packages(mistral_executor_packages | customizable("packages")) }}
+
 {% endif %}
+{% block mistral_executor_footer %}{% endblock %}
+{% block footer %}{% endblock %}
 
 {{ include_footer }}