aboutsummaryrefslogtreecommitdiff
path: root/kolla/image
diff options
context:
space:
mode:
Diffstat (limited to 'kolla/image')
-rw-r--r--kolla/image/kolla_worker.py15
-rw-r--r--kolla/image/tasks.py9
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