diff --git a/docker/keepalived/Dockerfile.j2 b/docker/keepalived/Dockerfile.j2
index 0f938440dc5c1e6fbba7daa72cd8beb6a0a3fc5f..a776e4f6d80055d080d0526ee92d1414610becdc 100644
--- a/docker/keepalived/Dockerfile.j2
+++ b/docker/keepalived/Dockerfile.j2
@@ -1,26 +1,26 @@
 FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
 MAINTAINER {{ maintainer }}
+{% import "macros.j2" as macros with context %}
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
-
-RUN yum -y install \
-        hostname \
-        keepalived \
-        socat \
-    && yum clean all
-
+    {% set keepalived_packages = [
+        'hostname',
+        'keepalived',
+        'socat'
+    ] %}
 {% elif base_distro in ['ubuntu', 'debian'] %}
-
-RUN apt-get -y install --no-install-recommends \
-        keepalived \
-        socat \
-    && apt-get clean
-
+    {% set keepalived_packages = [
+        'keepalived',
+        'socat'
+    ] %}
 {% endif %}
+RUN {{ macros.install_packages(keepalived_packages | customizable("packages")) }}
 
 COPY check_alive.sh /
 
 COPY extend_start.sh /usr/local/bin/kolla_extend_start
 RUN chmod 755 /usr/local/bin/kolla_extend_start /check_alive.sh
 
+{% block keepalived_footer %}{% endblock %}
+{% block footer %}{% endblock %}
 {{ include_footer }}