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
Manual cherrypick of part of #44053 to release-1.6 #44246
Conversation
This is a manual application of git commit 7664b97 to release-1.6 branch, because the context leading up to that commit was a lot of churn not necessary for the surgical fix. 7664b97: Add tests for kube-proxy healthcheck, fix bug Adding test cases for HC updates found a bug with an update that simultaneously removes one port and adds another. Map iteration is randomized, so sometimes no HC would be created.
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: MrHohn, thockin
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
Let me give it a try. |
Took a look at the codes, it seems a bit risky to cherrypick the whole commit (7664b97) into 1.5, given recent overhauls on kube-proxy. Specifically, for backporting the new added healthCheck update tests, we have at least these dependencies:
However, if we only cherrypick the |
That's even more surgical, but it means net-new code. If we port an
equivalent testcase it could fly.
…On Sun, Apr 9, 2017 at 11:22 PM, Zihong Zheng ***@***.***> wrote:
Took a look at the codes, it seems a bit risky to cherrypick the whole
commit (7664b97
<7664b97>)
into 1.5, given recent overhauls on kube-proxy. Specifically, for
backporting the new added healthCheck update tests, we have at least these
dependencies:
- Refactor OnEndpointsUpdate for testing (9507af3
<9507af3>
)
- Add tests for updateEndpoints (6069d49
<6069d49>
)
- Make healthcheck an interface (cddda17
<cddda17>
)
However, if we only cherrypick the proxier.go part (which basically just
changes map[proxy.ServicePortName]bool to map[types.NamespacedName][]*
endpointsInfo{}), it seems simple enough and sufficient for the bug fix.
What do you think? @thockin <https://github.com/thockin> @freehan
<https://github.com/freehan>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#44246 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFVgVN_OGZ_Kd072SsU2JnkKElsBzR8aks5rucq0gaJpZM4M31_p>
.
|
@thockin I tried to reword the release note in terms of what a user might observe. Please edit it if I've mangled the meaning. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
Automatic merge from submit-queue |
Commit found in the "release-1.6" branch appears to be this PR. Removing the "cherrypick-candidate" label. If this is an error find help to get your PR picked. |
Quick update, just reproduced the same issue on with latest 1.6 codes:
Dug a bit into it, found the bug is triggered by OnServiceUpdate, but this cherrypick only fixes OnEndpointUpdate :( |
We may want to roll this back, depending on what the real fix to the fix is. This alone is not detrimental, but it seems it is incomplete. |
#44315 covered it. |
Automatic merge from submit-queue Manual cherry pick of part of #44053 to release-1.5 This cherry pick has the same purpose as #44246 and #44315. The first commit is a manual application of git commit 7664b97 to release-1.5 branch. The unit test part is dropped as it has too many dependencies that shouldn't be cherry picked. The second commit is a surgical fix that does not exist on 1.6+, as we overhauled healthcheck package completely. It fixes the health check deletion logic in OnServiceUpdate for the same bug. @thockin @freehan **Release note**: ```release-note Fix for kube-proxy healthcheck handling an update that simultaneously removes one port and adds another. ```
Automatic merge from submit-queue Manual cherrypick of part of kubernetes#44053 to release-1.6 This is a manual application of git commit 7664b97 to release-1.6 branch, because the context leading up to that commit was a lot of churn not necessary for the surgical fix. We have at least one user report of hitting this. ```release-note Fix for kube-proxy healthcheck handling an update that simultaneously removes one port and adds another. ``` @ethernetdan are you patch czar for 1.6 ?
This is a manual application of git commit 7664b97 to release-1.6 branch, because the context leading up to that commit was a lot of churn not necessary for the surgical fix. We have at least one user report of hitting this.
@ethernetdan are you patch czar for 1.6 ?