airflow icon indicating copy to clipboard operation
airflow copied to clipboard

Separate instruction to install OS dependencies in images

Open potiuk opened this issue 3 years ago • 2 comments

This change will allow to experiment with other base images (for example CentOS that our users highly demand) but also it has a few nice simplifications and improvements along the way:

  • no more runtime parameters for CI image (they only make sense for PROD image)
  • no more support for Buster image (it is end of life in August)
  • Dockerfile has now less embedded default values (most of them moved to inlined bash script)
  • configuration for yarn sources is removed (we do not need yarn any more in our images)
  • additional pure-dev dependencies in CI image are passed through ADDITIONAL_DEV_DEPS
  • dev installation does not remove installation cache, making the CI image slightly bigger but easier for devel use - to install new dependencies (no need for apt-get update before installation)
  • latest patchlevels of various tools we use for CI were bumped

Based on top of https://github.com/apache/airflow/pull/25582 - please change only last commit.


^ Add meaningful description above

Read the Pull Request Guidelines for more information. In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed. In case of a new dependency, check compliance with the ASF 3rd Party License Policy. In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

potiuk avatar Aug 06 '22 15:08 potiuk

This is a refactoring for installation of `apt' dependencies in our Dockerfile and it will be really useful to explore a possibility of building a CentOS image which has been proposed by the Snowflake team in https://github.com/apache/airflow/pull/24825

cc: @mik-laj @sfc-gh-mkmak - it's not yet adding CentOS but it should make it easy for us to be able to choose Debian/CentOS when building the image. Once this one is merged, I will attempt to incorporate what you've done at Snowflake and when I succceed I will make a propsal at the devlist to introduce an experimental CentOS support (once I know if we can easily have 1-1 parity for our PROD images).

potiuk avatar Aug 06 '22 15:08 potiuk

I need to get https://github.com/apache/airflow/pull/25567 to main and rebase for the CI to succeed (We are overiding default parameters in the CI image in the main version of breeze.

potiuk avatar Aug 06 '22 15:08 potiuk

More comments needed :) ?

potiuk avatar Aug 12 '22 16:08 potiuk

Anyone :) ?

potiuk avatar Aug 19 '22 23:08 potiuk

@mik-laj ?

potiuk avatar Aug 21 '22 12:08 potiuk