Pass through environment to scheduler, web and launcher
These components may need to have http_proxy set, so let the user pass env variables. Change-Id: I6191dd9c8ded70c715f13179c3d904e8f65e144d
This commit is contained in:
parent
182a563a9e
commit
3df4bc0ad1
@ -355,6 +355,13 @@ verbatim):
|
|||||||
* ``tls.crt``
|
* ``tls.crt``
|
||||||
* ``tls.key``
|
* ``tls.key``
|
||||||
|
|
||||||
|
.. attr:: env
|
||||||
|
|
||||||
|
A list of environment variables. This will be passed through
|
||||||
|
to the Pod specifications for the scheduler, launcher, and
|
||||||
|
web. This may be used to set http_proxy environment
|
||||||
|
variables.
|
||||||
|
|
||||||
.. attr:: scheduler
|
.. attr:: scheduler
|
||||||
|
|
||||||
.. attr:: config
|
.. attr:: config
|
||||||
|
@ -28,9 +28,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: launcher
|
- name: launcher
|
||||||
image: {{ spec.imagePrefix }}/nodepool-launcher:{{ spec.nodepoolImageVersion }}
|
image: {{ spec.imagePrefix }}/nodepool-launcher:{{ spec.nodepoolImageVersion }}
|
||||||
env:
|
env: {{ spec.env | zuul_to_json }}
|
||||||
- name: KUBECONFIG
|
|
||||||
value: /etc/kubernetes/kube.config
|
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: nodepool-config
|
- name: nodepool-config
|
||||||
mountPath: /etc/nodepool
|
mountPath: /etc/nodepool
|
||||||
|
@ -166,6 +166,7 @@ spec:
|
|||||||
readOnly: true
|
readOnly: true
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
env: {{ spec.env | zuul_to_json }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: zuul-config
|
- name: zuul-config
|
||||||
secret:
|
secret:
|
||||||
@ -232,6 +233,7 @@ spec:
|
|||||||
- name: zookeeper-client-tls
|
- name: zookeeper-client-tls
|
||||||
mountPath: /tls/client
|
mountPath: /tls/client
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
env: {{ spec.env | zuul_to_json }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: zuul-config
|
- name: zuul-config
|
||||||
secret:
|
secret:
|
||||||
@ -365,7 +367,7 @@ spec:
|
|||||||
- name: nodepool-private-key
|
- name: nodepool-private-key
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ executor_ssh_secret }}
|
secretName: {{ executor_ssh_secret }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- for volume in spec.get('jobVolumes', []) %}
|
{%- for volume in spec.get('jobVolumes', []) %}
|
||||||
- {{ volume.volume | zuul_to_json }}
|
- {{ volume.volume | zuul_to_json }}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
@ -86,6 +86,20 @@ class Zuul:
|
|||||||
self.spec.setdefault('zuulRegistryImageVersion', 'latest')
|
self.spec.setdefault('zuulRegistryImageVersion', 'latest')
|
||||||
self.spec.setdefault('nodepoolImageVersion', 'latest')
|
self.spec.setdefault('nodepoolImageVersion', 'latest')
|
||||||
|
|
||||||
|
default_env = {
|
||||||
|
'KUBECONFIG': '/etc/kubernetes/kube.config'
|
||||||
|
}
|
||||||
|
env = self.spec.setdefault('env', [])
|
||||||
|
for default_key, default_value in default_env.items():
|
||||||
|
# Don't allow the user to override our defaults
|
||||||
|
for item in env:
|
||||||
|
if item.get('name') == default_key:
|
||||||
|
env.remove(item)
|
||||||
|
break
|
||||||
|
# Set our defaults
|
||||||
|
env.append({'name': default_key,
|
||||||
|
'value': default_value})
|
||||||
|
|
||||||
self.cert_manager = certmanager.CertManager(
|
self.cert_manager = certmanager.CertManager(
|
||||||
self.api, self.namespace, self.log)
|
self.api, self.namespace, self.log)
|
||||||
self.installing_cert_manager = False
|
self.installing_cert_manager = False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user