ashb commented on a change in pull request #4772: [AIRFLOW-3937] KubernetesPodOperator support for envFrom configMapRef… URL: https://github.com/apache/airflow/pull/4772#discussion_r268751356
########## File path: airflow/contrib/kubernetes/kubernetes_request_factory/kubernetes_request_factory.py ########## @@ -131,15 +131,44 @@ def extract_volume_secrets(pod, req): @staticmethod def extract_env_and_secrets(pod, req): - env_secrets = [s for s in pod.secrets if s.deploy_type == 'env'] - if len(pod.envs) > 0 or len(env_secrets) > 0: + envs_from_key_secrets = [ + env for env in pod.secrets if env.deploy_type == 'env' and hasattr(env, 'key') + ] + + envs_from_secrets = [ + env for env in pod.secrets if env.deploy_type == 'env' and not hasattr(env, 'key') + ] + + if pod.envs_from_configmaps or envs_from_secrets: + req['spec']['containers'][0]['envFrom'] = [] + + if len(pod.envs) > 0 or len(envs_from_key_secrets) > 0: env = [] for k in pod.envs.keys(): env.append({'name': k, 'value': pod.envs[k]}) - for secret in env_secrets: + for secret in envs_from_key_secrets: KubernetesRequestFactory.add_secret_to_env(env, secret) + req['spec']['containers'][0]['env'] = env + for secret in envs_from_secrets: Review comment: To be clear - this means making `extract_env_and_secrets` call extra helper functions, so no new changes outside of kube_request_factory.py ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services