Skip to content

Conversation

@potiuk
Copy link
Member

@potiuk potiuk commented Nov 7, 2020

This is a fix to a problem introduced in #10806. The change
turned provider packages into namespace packages - which made
them ignored by find_packages function from setup tools - thus
prodiuction image build automatically and used by Kubernetes
tests did not have the provider packages installed.

This PR fixes it and adds future protection during CI tests of
production image to make sure that provider packages are
actually installed.

Fixes #12150


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, 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 UPDATING.md.

@potiuk potiuk requested review from ashb, kaxil and mik-laj November 7, 2020 11:00
@potiuk potiuk added this to the Airflow 2.0.0-beta1 milestone Nov 7, 2020
@potiuk potiuk requested review from dimberman and turbaszek November 7, 2020 11:01
@potiuk potiuk force-pushed the fix-missing-provider-packages-in-production-docker-image branch 2 times, most recently from 11a7a90 to 6ac15dc Compare November 7, 2020 11:22
@potiuk potiuk added the priority:critical Showstopper bug that should be patched immediately label Nov 7, 2020
@potiuk potiuk force-pushed the fix-missing-provider-packages-in-production-docker-image branch from 6ac15dc to 7c2d88a Compare November 8, 2020 10:24
@potiuk
Copy link
Member Author

potiuk commented Nov 9, 2020

There was a reason I didn't do this. By having this be find_namespace_packages it will always include all the providers in the airflow dist. I.e. it reverses the split out.

Yes. Correct. it should only happen when "install_providers_from_sources" is set. that is the right fix

This is a fix to a problem introduced in apache#10806. The change
turned provider packages into namespace packages - which made
them ignored by find_packages function from setup tools - thus
prodiuction image build automatically and used by Kubernetes
tests did not have the provider packages installed.

This PR fixes it and adds future protection during CI tests of
production image to make sure that provider packages are
actually installed.

Fixes apache#12150
@potiuk potiuk force-pushed the fix-missing-provider-packages-in-production-docker-image branch from 7c2d88a to 096d5ac Compare November 9, 2020 09:04
@potiuk
Copy link
Member Author

potiuk commented Nov 9, 2020

Should be fixed now. As discussed - later when we will release provider packages we will switch to the mode of building the package using wheels. But I do not think we need to do it now, I think we need to release PyPI packages first and then we will synchronize the process. I yet have to see how we are going to build those. The Docker File and scripts have all the features needed to build the "master" image differently - using packages.

However requiring going through the hoops of building all packages and installing them locally for local development and testing is not a good idea, so building from sources including all providers should remain to help developers who are actually working on improving the prod image.

@potiuk potiuk merged commit eaac361 into apache:master Nov 9, 2020
@potiuk potiuk deleted the fix-missing-provider-packages-in-production-docker-image branch November 9, 2020 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools priority:critical Showstopper bug that should be patched immediately

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Production image has only amazon and google providers installed

3 participants