diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-06-12 23:58:54 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-06-12 23:58:54 +0000 |
| commit | 9afb69c8de7422ef94e5daab0c9cc8e4581f6939 (patch) | |
| tree | 23f76d9b44c0f91f30681d77a7579db3b1a5806c | |
| parent | 019db8bbfe9f6d49258ccd8ba53d93505c935305 (diff) | |
| parent | 51074b0a42490d69f653c49aa78a03cb55888ff1 (diff) | |
| download | kolla-9afb69c8de7422ef94e5daab0c9cc8e4581f6939.tar.gz kolla-9afb69c8de7422ef94e5daab0c9cc8e4581f6939.zip | |
Merge "Mechanism for Dockerfile customization"
| -rw-r--r-- | kolla/common/config.py | 2 | ||||
| -rwxr-xr-x | kolla/image/build.py | 13 |
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() |
