Repository: incubator-airflow
Updated Branches:
  refs/heads/master 4428d1bbb -> fef7d304d


[AIRFLOW-2400] Add Ability to set Environment Variables for K8s

[AIRFLOW-2400] Env Variables for K8s

Allow environment variables to be set for the
KubernetesPodOperator.

Fix typo

Fix documentation variable type

Closes #3284 from jkao/add-env-vars-
to-k8s-operator


Project: http://git-wip-us.apache.org/repos/asf/incubator-airflow/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-airflow/commit/fef7d304
Tree: http://git-wip-us.apache.org/repos/asf/incubator-airflow/tree/fef7d304
Diff: http://git-wip-us.apache.org/repos/asf/incubator-airflow/diff/fef7d304

Branch: refs/heads/master
Commit: fef7d304d4aa2534e38da74921d482d4768991a6
Parents: 4428d1b
Author: Jeff Kao <jeff.kao....@gmail.com>
Authored: Tue May 1 22:09:31 2018 +0200
Committer: Fokko Driesprong <fokkodriespr...@godatadriven.com>
Committed: Tue May 1 22:09:31 2018 +0200

----------------------------------------------------------------------
 airflow/contrib/kubernetes/pod.py                    | 2 +-
 airflow/contrib/operators/kubernetes_pod_operator.py | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/fef7d304/airflow/contrib/kubernetes/pod.py
----------------------------------------------------------------------
diff --git a/airflow/contrib/kubernetes/pod.py 
b/airflow/contrib/kubernetes/pod.py
index df60c8a..e5e9a4d 100644
--- a/airflow/contrib/kubernetes/pod.py
+++ b/airflow/contrib/kubernetes/pod.py
@@ -45,7 +45,7 @@ class Pod:
     :param image: The docker image
     :type image: str
     :param envs: A dict containing the environment variables
-    :type envs:s dict
+    :type envs: dict
     :param cmds: The command to be run on the pod
     :type cmds: list str
     :param secrets: Secrets to be launched to the pod

http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/fef7d304/airflow/contrib/operators/kubernetes_pod_operator.py
----------------------------------------------------------------------
diff --git a/airflow/contrib/operators/kubernetes_pod_operator.py 
b/airflow/contrib/operators/kubernetes_pod_operator.py
index 9e95d8b..06c0c5a 100644
--- a/airflow/contrib/operators/kubernetes_pod_operator.py
+++ b/airflow/contrib/operators/kubernetes_pod_operator.py
@@ -45,6 +45,8 @@ class KubernetesPodOperator(BaseOperator):
     :type startup_timeout_seconds: int
     :param name: name for the pod
     :type name: str
+    :param env_vars: Environment variables initialized in the container
+    :type env_vars: dict
     :param secrets: Secrets to attach to the container
     :type secrets: list
     :param in_cluster: run kubernetes client with in_cluster configuration
@@ -54,7 +56,6 @@ class KubernetesPodOperator(BaseOperator):
 
     def execute(self, context):
         try:
-
             client = kube_client.get_kube_client(in_cluster=self.in_cluster)
             gen = pod_generator.PodGenerator()
 
@@ -68,6 +69,7 @@ class KubernetesPodOperator(BaseOperator):
             )
 
             pod.secrets = self.secrets
+            pod.envs = self.env_vars
 
             launcher = pod_launcher.PodLauncher(client)
             final_state = launcher.run_pod(
@@ -86,6 +88,7 @@ class KubernetesPodOperator(BaseOperator):
                  cmds,
                  arguments,
                  name,
+                 env_vars=None,
                  secrets=None,
                  in_cluster=False,
                  labels=None,
@@ -101,6 +104,7 @@ class KubernetesPodOperator(BaseOperator):
         self.labels = labels or {}
         self.startup_timeout_seconds = startup_timeout_seconds
         self.name = name
+        self.env_vars = env_vars or {}
         self.secrets = secrets or []
         self.in_cluster = in_cluster
         self.get_logs = get_logs

Reply via email to