yehoshuadimarsky opened a new issue #20538:
URL: https://github.com/apache/airflow/issues/20538


   ### Official Helm Chart version
   
   1.3.0 (latest released)
   
   ### Apache Airflow version
   
   2.2.1
   
   ### Kubernetes Version
   
   1.19.14-gke.1900
   
   ### Helm Chart configuration
   
   Here are the relevant parts:
   
   ```yaml
   executor: "KubernetesExecutor"
   postgresql:
     enabled: false
   data:
     metadataSecretName: airflow-db-creds-secret
   pgbouncer:
     enabled: true
   flower:
     enabled: false
   redis:
     enabled: false
   
   # tolerations for entire chart - use the "core" pool
   tolerations:
     - key: airflow-core-pool
       operator: Equal
       value: "true"
       effect: NoSchedule
   
   # want another toleration for only workers to only use the "worker" pool
   workers:
     tolerations:
       - key: airflow-worker-pool
         operator: Equal
         value: "true"
         effect: NoSchedule
   ```
   
   ### Docker Image customisations
   
   _No response_
   
   ### What happened
   
   I am trying to get all the pods in the Chart to run on a specific node pool 
by using taints and tolerations, and the workers should run in a different 
(larger) pool. Each pool has its own specific taint. When setting the 
tolerations, I assumed that the best way to go was to set a "default" 
toleration for the whole chart (to the "core" pool), and override/extend that 
in the workers section to specify a different toleration.
   
   The problem is, when I look at the actual template here, 
   
https://github.com/apache/airflow/blob/6dfc939833fd3dc477b3971d965ba142d3b8bd77/chart/templates/workers/worker-deployment.yaml#L25
   it is using the Helm `or` operator, which I think takes the first not-null 
value (`.Values.tolerations`), instead of allowing the second one 
(`.Values.workers.tolerations`) to override or extend it.
   
   See the helm docs at 
https://helm.sh/docs/chart_template_guide/function_list/#or
   
   Is this a design mistake? I think this should be changed to allow for the 
intuitive behavior of setting a default toleration for the entire chart and 
then allowing specific parts to override that.
   
   ### What you expected to happen
   
   _No response_
   
   ### How to reproduce
   
   _No response_
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to