diff --git a/docker/sahara/sahara-api/Dockerfile.j2 b/docker/sahara/sahara-api/Dockerfile.j2
index 5cb3154e5e..c821695749 100644
--- a/docker/sahara/sahara-api/Dockerfile.j2
+++ b/docker/sahara/sahara-api/Dockerfile.j2
@@ -1,25 +1,21 @@
 FROM {{ namespace }}/{{ image_prefix }}sahara-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-sahara-api \
-    && yum clean all
-
+       {% set sahara_api_packages = ['openstack-sahara-api'] %}
     {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        sahara-api \
-    && apt-get clean
-
+        {% set sahara_api_packages = ['sahara-api'] %}
     {% endif %}
+RUN {{ macros.install_packages(sahara_api_packages | customizable("packages")) }}
 {% endif %}
 
 COPY extend_start.sh /usr/local/bin/kolla_extend_start
 RUN chmod 755 /usr/local/bin/kolla_extend_start
 
+{% block sahara_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
 {{ include_footer }}
 
 USER sahara
diff --git a/docker/sahara/sahara-base/Dockerfile.j2 b/docker/sahara/sahara-base/Dockerfile.j2
index ab059585d3..1104a76cf4 100644
--- a/docker/sahara/sahara-base/Dockerfile.j2
+++ b/docker/sahara/sahara-base/Dockerfile.j2
@@ -1,20 +1,16 @@
 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-sahara-common \
-    && yum clean all
-
-    {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        sahara-common \
-    && apt-get clean
-
-    {% endif %}
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+    {% set sahara_base_packages = ['openstack-sahara-common'] %}
+{% elif base_distro in ['ubuntu'] %}
+    {% set sahara_base_packages = ['sahara-common'] %}
+{% endif %}
+RUN {{ macros.install_packages(sahara_base_packages | customizable("packages")) }}
 
 {% elif install_type == 'source' %}
 
@@ -29,3 +25,6 @@ RUN ln -s sahara-base-source/* sahara \
 {% endif %}
 
 RUN usermod -a -G kolla sahara
+
+{% block sahara_base_footer %}{% endblock %}
+{% block footer %}{% endblock %}
diff --git a/docker/sahara/sahara-engine/Dockerfile.j2 b/docker/sahara/sahara-engine/Dockerfile.j2
index 48362a46f9..251eef2e86 100644
--- a/docker/sahara/sahara-engine/Dockerfile.j2
+++ b/docker/sahara/sahara-engine/Dockerfile.j2
@@ -1,21 +1,19 @@
 FROM {{ namespace }}/{{ image_prefix }}sahara-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-sahara-engine \
-    && yum clean all
-
+       {% set sahara_engine_packages = ['openstack-sahara-engine'] %}
     {% elif base_distro in ['ubuntu'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        sahara-engine \
-    && apt-get clean
-
+        {% set sahara_engine_packages = ['sahara-engine'] %}
     {% endif %}
+RUN {{ macros.install_packages(sahara_engine_packages | customizable("packages")) }}
+
 {% endif %}
+{% block sahara_engine_footer %}{% endblock %}
+{% block footer %}{% endblock %}
 
 {{ include_footer }}