-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement reading provider information from packages/sources #12512
Implement reading provider information from packages/sources #12512
Conversation
Hey @ashb @mik-laj -> this is the "base" version of the ProvidersManager - updated to include both options:
It also includes CLI that you can query the providers installed. Reading from packages is much slower than from file, but it is bearable (~2-3 seconds on my machine). most of it is resolving and checking package dependencies, not reading the content. Also - currently - two packages (snowflake and amazon) fail to register because they have "ContextualVersionConflict" which I hope we will eventually resolve (#10854, #10854) You can also try it out yourself - there is a new 'providers' cli command displaying the installed providers: Works both - in dev env (with local sources) and prod env (with packages) |
a3e9242
to
8ac737d
Compare
8ac737d
to
33c17c0
Compare
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
33c17c0
to
5973ebf
Compare
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
d0439de
to
b91e0b8
Compare
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
596d28f
to
5c95086
Compare
5c95086
to
50246bf
Compare
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
50246bf
to
98174f6
Compare
Hey @ashb. It's green - this one is "pure" provider discovery - without connections/extra links - it just contains the discovery and restructured provider package tests to show better what's happening. Right now what happens:
This does not work now because we have import version conflict problems, but once we solve it, it should work - we have 59 out of 60 now - so for now I just skip exit in the number check. See here: https://github.com/apache/airflow/runs/1438201616?check_suite_focus=true#step:9:4436 I will continue on rebasing the others and we can discuss tomorrow how close we can get to support the cases that you have in mind (with plugins) not only the providers. I think we can find some good future-proof solutions now, I simply do not have the capacity to also implement plugins at the same time, but I think if we implement it correctly, we can have a follow up PR implementing the "plugin" case you mentioned as well, without some heavy modifications. |
5e80cc6
to
aa2f739
Compare
I tested this and this is what the provider info for amazon package looks okay, if horrible without black formatting. |
Formatting with black is quite straight forward:
(In black >= 0.20.8b0, that has been renamed to just It now looks like:
|
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
e5f5ebf
to
ed93e40
Compare
I will be running some more tests but I think everything addressed @ashb/@mik-laj |
It look like this one is good to go. Some quarantined tests failed. I am re-running it. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
ed93e40
to
6c1eef2
Compare
The Workflow run is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Backport packages$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*. |
@ashb -> I would love to merge that one, so that I can rebase and finish the other two :) |
6c1eef2
to
dadda14
Compare
I hadn't been looking cos of all the failing tests. Is it ready now? |
Yep. Rebased it and but last time it passed all tests. |
gentle reminder @ash :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One tiny change -- preemptively approving.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs rebasing on Master but LGTM otherwise
This PR implements discovering and readin provider information from packages (using entry_points) and - if found - from local provider yaml files for the built-in airflow providers, when they are found in the airflow.provider packages. The provider.yaml files - if found - take precedence over the package-provided ones. Add displaying provider information in CLI Closes: apache#12470
0bfb26e
to
4f36865
Compare
This PR implements discovering and readin provider information from
packages (using entry_points) and - if found - from local
provider yaml files for the built-in airflow providers,
when they are found in the airflow.provider packages.
The provider.yaml files - if found - take precedence over the
package-provided ones.
Add displaying provider information in CLI
Closes: #12470
^ 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.