-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Update Kubernetes library version and backport pickle-fix for Loggers #18797
Conversation
Maybe it is worth splitting this in two actually -- add the reducer for logging to core, but leave the Kube client library version unchanged? |
Yeah 2 PRs does make sense. |
Split the copyreg in core airflow in to #18798 which is fine to merge in for 2.2.0rc1 |
2503c53
to
30b37a8
Compare
Merging now 2.2.0 is out. |
Wait -- making sure tests actually run first 😁 |
30b37a8
to
9eb6ebe
Compare
9eb6ebe
to
c2028de
Compare
2c2c555
to
77661b7
Compare
Green enough. Merging to mainline for 2.3 -- we shouldn't pull this in to 2.2 series. |
Oh wait, the helm tests were cancelled. Those one's probably are important to run. 👀 |
Hmmm helm tests are still timing out here, which means something is not right |
Previously we pinned this version as v12 as a change to Kube library internals meant v1.Pod objects now have a logger object inside them, and couldn't be pickled on Python 3.6. To fix that we have "backported" the change in Python 3.7 to make Logger objects be pickled "by name". (In Python 3.7 the change adds `__reduce__` methods on to the Logger and RootLogger objects, but here we achieve it `copyreg` stdlib module so we don't monkeypatch anything.) This fix is also applied in to airflow core in a separate commit, but we also apply it here in the provider so that cncf.kubernetes client library can be updated but still used with older versions of Airflow that don't have this fix in.
0fa2c58
to
0d1dc45
Compare
Better now after a rebase. |
Removing 2.3.0 milestone as this PR is in the provider release cycle. |
Previously we pinned this version as v12 as a change to Kube library internals meant v1.Pod objects now have a logger object inside them, and couldn't be pickled on Python 3.6. To fix that we have "backported" the change in Python 3.7 to make Logger objects be pickled "by name". (In Python 3.7 the change adds `__reduce__` methods on to the Logger and RootLogger objects, but here we achieve it `copyreg` stdlib module so we don't monkeypatch anything.) This fix is also applied in to airflow core in a separate commit, but we also apply it here in the provider so that cncf.kubernetes client library can be updated but still used with older versions of Airflow that don't have this fix in. (cherry picked from commit 7222f68)
Previously we pinned this version as v12 as a change to Kube library internals meant v1.Pod objects now have a logger object inside them, and couldn't be pickled on Python 3.6. To fix that we have "backported" the change in Python 3.7 to make Logger objects be pickled "by name". (In Python 3.7 the change adds `__reduce__` methods on to the Logger and RootLogger objects, but here we achieve it `copyreg` stdlib module so we don't monkeypatch anything.) This fix is also applied in to airflow core in a separate commit, but we also apply it here in the provider so that cncf.kubernetes client library can be updated but still used with older versions of Airflow that don't have this fix in. (cherry picked from commit 7222f68)
Previously we pinned this version as v12 as a change to Kube library internals meant v1.Pod objects now have a logger object inside them, and couldn't be pickled on Python 3.6. To fix that we have "backported" the change in Python 3.7 to make Logger objects be pickled "by name". (In Python 3.7 the change adds `__reduce__` methods on to the Logger and RootLogger objects, but here we achieve it `copyreg` stdlib module so we don't monkeypatch anything.) This fix is also applied in to airflow core in a separate commit, but we also apply it here in the provider so that cncf.kubernetes client library can be updated but still used with older versions of Airflow that don't have this fix in. (cherry picked from commit 7222f68)
This reverts commit cb9cdf5.
This reverts commit cb9cdf5.
Previously we pinned this version as v12 as a change to Kube library
internals meant v1.Pod objects now have a logger object inside them, and
couldn't be pickled on Python 3.6.
To fix that we have "backported" the change in Python 3.7 to make Logger
objects be pickled "by name". (In Python 3.7 the change adds
__reduce__
methods on to the Logger and RootLogger objects, but herewe achieve it
copyreg
stdlib module so we don't monkeypatchanything.)
This fix is also applied in to airflow core in a separate commit, but we
also apply it here in the provider so that cncf.kubernetes client
library can be updated but still used with older versions of Airflow
that don't have this fix in.
I think we should NOT merge this until after 2.2.0 RC is cut, as I don't think we have time to test the kube client upgrade doesn't break anything before the planned RC release.
^ 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.