aboutsummaryrefslogtreecommitdiff
path: root/kolla
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-06-12 23:58:54 +0000
committerGerrit Code Review <review@openstack.org>2016-06-12 23:58:54 +0000
commit9afb69c8de7422ef94e5daab0c9cc8e4581f6939 (patch)
tree23f76d9b44c0f91f30681d77a7579db3b1a5806c /kolla
parent019db8bbfe9f6d49258ccd8ba53d93505c935305 (diff)
parent51074b0a42490d69f653c49aa78a03cb55888ff1 (diff)
downloadkolla-9afb69c8de7422ef94e5daab0c9cc8e4581f6939.tar.gz
kolla-9afb69c8de7422ef94e5daab0c9cc8e4581f6939.zip
Merge "Mechanism for Dockerfile customization"
Diffstat (limited to 'kolla')
-rw-r--r--kolla/common/config.py2
-rwxr-xr-xkolla/image/build.py13
2 files changed, 12 insertions, 3 deletions
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 903fd693d..b1224d09e 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -142,6 +142,8 @@ _CLI_OPTS = [
help=("Don't build images. Generate Dockerfile only")),
cfg.IntOpt('timeout', default=120,
help='Time in seconds after which any operation times out'),
+ cfg.StrOpt('template-override',
+ help='Path to template override file'),
]
_BASE_OPTS = [
diff --git a/kolla/image/build.py b/kolla/image/build.py
index c930297a1..2924cfcc8 100755
--- a/kolla/image/build.py
+++ b/kolla/image/build.py
@@ -613,9 +613,6 @@ class KollaWorker(object):
self.base)
for path in self.docker_build_paths:
template_name = "Dockerfile.j2"
- env = jinja2.Environment( # nosec: not used to render HTML
- loader=jinja2.FileSystemLoader(path))
- template = env.get_template(template_name)
values = {'base_distro': self.base,
'base_image': self.conf.base_image,
'base_distro_tag': self.base_tag,
@@ -628,6 +625,16 @@ class KollaWorker(object):
'maintainer': self.maintainer,
'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)
+ if self.conf.template_override:
+ template_path = os.path.dirname(self.conf.template_override)
+ template_name = os.path.basename(self.conf.template_override)
+ values['parent_template'] = template
+ env = jinja2.Environment( # nosec: not used to render HTML
+ loader=jinja2.FileSystemLoader(template_path))
+ template = env.get_template(template_name)
if self.include_header:
with open(self.include_header, 'r') as f:
values['include_header'] = f.read()