[ 
https://issues.apache.org/jira/browse/AIRFLOW-3402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16701190#comment-16701190
 ] 

ASF GitHub Bot commented on AIRFLOW-3402:
-----------------------------------------

kppullin opened a new pull request #4247: [AIRFLOW-3402] Support global k8s 
affinity and toleration configs
URL: https://github.com/apache/incubator-airflow/pull/4247
 
 
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [X] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
   
     - https://issues.apache.org/jira/browse/AIRFLOW-3402
     - In case you are fixing a typo in the documentation you can prepend your 
commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
   
   ### Description
   
   - [X] Here are some details about my PR, including screenshots of any UI 
changes:
   
   - In the airflow.cfg file, adds new `affinity` and `tolerations` config keys 
to the `kubernetes` section.
     - The values for these are required to be in JSON format, as they are 
dense.
   - Wires up support for `tolerations` for pods generated via the 
`KubernetesExecutor`.
   - Minor updates to function documentation.
   
   ### Tests
   
   - [X ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
     - Tests added to `test_kubernetes_executor.py` to validate the generated 
pod contains the defined affinity and tolerations config, for config coming 
from both the `kube_config` and `kube_executor_config` dicts.
   
   ### Commits
   
   - [X] My commits all reference Jira issues in their subject lines, and I 
have squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [X] In case of new functionality, my PR adds documentation that describes 
how to use it.
     - When adding new operators/hooks/sensors, the autoclass documentation 
generation needs to be added.
   
   - Documentation added to the config file and inline in tests.
   
   ### Code Quality
   
   - [X] Passes `flake8`
   - These changes at least don't make things worse...
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


> Set default kubernetes affinity and toleration settings in airflow.cfg
> ----------------------------------------------------------------------
>
>                 Key: AIRFLOW-3402
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3402
>             Project: Apache Airflow
>          Issue Type: Improvement
>          Components: kubernetes
>            Reporter: Kevin Pullin
>            Priority: Major
>
> Currently airflow supports setting kubernetes `affinity` and `toleration` 
> configuration inside dags using either a `KubernetesExecutorConfig` 
> definition or using the `KubernetesPodOperator`.
> In order to reduce having to set and maintain this configuration in every 
> dag, it'd be useful to have the ability to set these globally in the 
> airflow.cfg file.  One use case is to force all kubernetes pods to run on a 
> particular set of dedicated airflow nodes, which requires both affinity rules 
> and tolerations.



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

Reply via email to