raman created AIRFLOW-3273:
------------------------------

             Summary: Support for Passing Custom Env variables while launching 
k8 Pod
                 Key: AIRFLOW-3273
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3273
             Project: Apache Airflow
          Issue Type: Improvement
          Components: kubernetes
            Reporter: raman


Is there a way to provide env variables while launching K8 pod through K8 
executor. we need to pass some env variable which are referred inside our 
Airflow Operator. so can we provide custom env variable to docker run command 
while launching task pod. Currently it seems that it supports predefined env 
variable.

worker_configuration.py

def _get_environment(self): """Defines any necessary environment variables for 
the pod executor""" env = \{ 'AIRFLOW__CORE__DAGS_FOLDER': '/tmp/dags', 
'AIRFLOW__CORE__EXECUTOR': 'LocalExecutor' } if 
self.kube_config.airflow_configmap: env['AIRFLOW__CORE__AIRFLOW_HOME'] = 
self.worker_airflow_home return env

 

Possible solution

At the moment there is not a way to configure environmental variables on a 
per-task basis, but it shouldn't be too hard to add that functionality. Extra 
config options can be passed through the `executor_config` on any operator:

[https://github.com/apache/incubator-airflow/blob/master/airflow/models.py#L2423-L2437]

Which are eventually used here to construct the kubernetes pod for the task:

[https://github.com/apache/incubator-airflow/blob/master/airflow/contrib/kubernetes/worker_configuration.py#L186]

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to