diff options
Diffstat (limited to 'kolla/image')
| -rw-r--r-- | kolla/image/kolla_worker.py | 15 | ||||
| -rw-r--r-- | kolla/image/tasks.py | 9 |
2 files changed, 24 insertions, 0 deletions
diff --git a/kolla/image/kolla_worker.py b/kolla/image/kolla_worker.py index 1dc37e2a6..b54e81bea 100644 --- a/kolla/image/kolla_worker.py +++ b/kolla/image/kolla_worker.py @@ -411,6 +411,21 @@ class KollaWorker(object): env.globals.update(self._get_methods()) template = env.get_template(template_name) content = template.render(values, env=os.environ) + pip_args = [ + 'ARG {}'.format(k) + for k, v in ( + ('PIP_INDEX_URL', self.conf.pip_index_url), + ('PIP_TRUSTED_HOST', self.conf.pip_trusted_host), + ('PIP_EXTRA_INDEX_URL', self.conf.pip_extra_index_url), + ) if v + ] + if pip_args: + lines = content.split('\n') + for i, line in enumerate(lines): + if line.startswith('FROM '): + lines[i + 1:i + 1] = pip_args + break + content = '\n'.join(lines) content_path = os.path.join(path, 'Dockerfile') with open(content_path, 'w') as f: LOG.debug("Rendered %s into:", tpl_path) diff --git a/kolla/image/tasks.py b/kolla/image/tasks.py index 9eec24a8f..ba2ade743 100644 --- a/kolla/image/tasks.py +++ b/kolla/image/tasks.py @@ -304,6 +304,15 @@ class BuildTask(EngineTask): if proxy_var in os.environ and proxy_var not in buildargs: buildargs[proxy_var] = os.environ.get(proxy_var) + pip_vars = ( + ('PIP_INDEX_URL', self.conf.pip_index_url), + ('PIP_TRUSTED_HOST', self.conf.pip_trusted_host), + ('PIP_EXTRA_INDEX_URL', self.conf.pip_extra_index_url), + ) + for pip_var, value in pip_vars: + if value and pip_var not in buildargs: + buildargs[pip_var] = value + if not buildargs: return None return buildargs |
