Uh oh!
There was an error while loading. Please reload this page.
Update Kubernetes library version and backport pickle-fix for Loggers - #18797
Conversation
ashb
commented
Oct 7, 2021
Maybe it is worth splitting this in two actually -- add the reducer for logging to core, but leave the Kube client library version unchanged? |
kaxil
commented
Oct 7, 2021
Yeah 2 PRs does make sense. |
ashb
commented
Oct 7, 2021
Split the copyreg in core airflow in to #18798 which is fine to merge in for 2.2.0rc1 |
ashb
commented
Oct 12, 2021
Merging now 2.2.0 is out. |
ashb
commented
Oct 12, 2021
Wait -- making sure tests actually run first 😁 |
2c2c555 to
77661b7Compareashb
commented
Nov 12, 2021
Green enough. Merging to mainline for 2.3 -- we shouldn't pull this in to 2.2 series. |
ashb
commented
Nov 12, 2021
Oh wait, the helm tests were cancelled. Those one's probably are important to run. 👀 |
Uh oh!
There was an error while loading. Please reload this page.
ashb
commented
Jan 3, 2022
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.
ashb
commented
Jan 4, 2022
Better now after a rebase. |
eladkal
commented
Jan 17, 2022
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
copyregstdlib 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.