From f1c3422582ef3368647f3459b04c4c0b67f8e1ee Mon Sep 17 00:00:00 2001
From: "Michal (inc0) Jastrzebski" <inc007@gmail.com>
Date: Tue, 7 Jun 2016 20:54:37 +0000
Subject: [PATCH] Macro install packages

Simplification of package installations

Change-Id: I78c0a84c55e891dec7c9bd21bc61700dba244526
Partially-implements: blueprint third-party-plugin-support
---
 docker/macros.j2     | 7 +++++++
 kolla/image/build.py | 8 ++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)
 create mode 100644 docker/macros.j2

diff --git a/docker/macros.j2 b/docker/macros.j2
new file mode 100644
index 0000000000..c10973ef64
--- /dev/null
+++ b/docker/macros.j2
@@ -0,0 +1,7 @@
+{% macro install_packages(packages) -%}
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] -%}
+    yum -y install {{ packages | join(' ') }}  && yum clean all
+{%- elif base_distro in ['ubuntu', 'debian'] -%}
+    apt-get -y install --no-install-recommends {{ packages | join(' ') }} && apt-get clean
+{%- endif %}
+{%- endmacro %}
diff --git a/kolla/image/build.py b/kolla/image/build.py
index 301dea0d1c..74c05b69bf 100755
--- a/kolla/image/build.py
+++ b/kolla/image/build.py
@@ -626,8 +626,12 @@ class KollaWorker(object):
                       'kolla_version': kolla_version,
                       'rpm_setup': self.rpm_setup}
             env = jinja2.Environment(  # nosec: not used to render HTML
-                loader=jinja2.FileSystemLoader(path))
-            template = env.get_template(template_name)
+                loader=jinja2.FileSystemLoader(self.working_dir))
+            tpl_path = os.path.join(
+                os.path.relpath(path, self.working_dir),
+                template_name)
+
+            template = env.get_template(tpl_path)
             if self.conf.template_override:
                 template_path = os.path.dirname(self.conf.template_override)
                 template_name = os.path.basename(self.conf.template_override)