potiuk opened a new pull request #22573:
URL: https://github.com/apache/airflow/pull/22573


   Kubernetes and Celery are both providers and part of the core.
   The dependencies for both are added via "extras" which makes them
   "soft" limits and in case of serious dependency bumps this might
   end up with a mess (as we experienced with bumping min K8S
   library version from 11.0.0 to 22.* (resulting in yanking 4
   versions of `cncf.kubernetes` provider.
   
   After this learning, we approach K8S and Celery dependencies a bit
   differently than any other dependencies.
   
   * for Celery and K8S (and Dask but this is rather an afterhought)
     we do not strip-off the dependencies from the extra (so for
     example [cncf.kubernetes] extra will have dependencies on
     both 'apache-airflow-providers-cncf-kubernetes' as well as
     directly on kubernetes library
   
   * We add upper-bound limits for both Celery and Kubernetes to prevent
     from accidental upgrades. Both Celery and Kubernetes Python library
     follow SemVer, and they are crucial components of Airlfow so they
     both squarely fit our "do not upper-bound" exceptions.
   
   * We also add a rule that whenever dependency upper-bound limit is
     raised, we should also make sure that additional testing is done
     and appropriate `apache-airflow` lower-bound limit is added for
     the `apache-airflow-providers-cncf-kubernetes` and
     `apache-airflow-providers-celery` providers.
   
   That should protect our users in all scenarios where they might
   unknowingly attempt to upgrade Kubernetes or Celery to incompatible
   version.
   
   Related to: #22560, #21727
   
   <!--
   Thank you for contributing! Please make sure that your code changes
   are covered with tests. And in case of new features or big changes
   remember to adjust the documentation.
   
   Feel free to ping committers for the review!
   
   In case of existing issue, reference it using one of the following:
   
   closes: #ISSUE
   related: #ISSUE
   
   How to write a good git commit message:
   http://chris.beams.io/posts/git-commit/
   -->
   
   ---
   **^ Add meaningful description above**
   
   Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
 for more information.
   In case of fundamental code change, Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals))
 is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party 
License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in 
[UPDATING.md](https://github.com/apache/airflow/blob/main/UPDATING.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