Skip to content

restore endpoints topology fallback in kube-proxy 1.22#110245

Merged
k8s-ci-robot merged 1 commit into
kubernetes:release-1.22from
xh4n3:features/restore-eps-topology-fallback
Jun 9, 2022
Merged

restore endpoints topology fallback in kube-proxy 1.22#110245
k8s-ci-robot merged 1 commit into
kubernetes:release-1.22from
xh4n3:features/restore-eps-topology-fallback

Conversation

@xh4n3

@xh4n3 xh4n3 commented May 27, 2022

Copy link
Copy Markdown
Contributor

What type of PR is this?

/kind bug
/sig network

What this PR does / why we need it:

This PR let kube-proxy fallback to use endpoint.DeprecatedTopology[v1.LabelHostname] when endpoint.NodeName is missing, so the kube-proxy can find local endpoints after upgrade from 1.20 to 1.22

Which issue(s) this PR fixes:

Fixes #110208

Does this PR introduce a user-facing change?

Bug Fix: Kube-proxy dropped endpointSlice's local endpoints when upgrading from 1.20 to 1.22

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

None

@k8s-ci-robot k8s-ci-robot added this to the v1.22 milestone May 27, 2022
@k8s-ci-robot k8s-ci-robot added do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. kind/bug Categorizes issue or PR as related to a bug. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. sig/network Categorizes an issue or PR as relevant to SIG Network. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels May 27, 2022
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Hi @xh4n3. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 27, 2022
@aojea

aojea commented May 27, 2022

Copy link
Copy Markdown
Member

/ok-to-test
/assign @dcbw @robscott @swetharepakula

@k8s-ci-robot k8s-ci-robot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label May 27, 2022
@k8s-ci-robot k8s-ci-robot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 27, 2022

@swetharepakula swetharepakula left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the change! Mostly looks good to me. One suggestion for the unit tests.

Comment thread pkg/proxy/endpointslicecache_test.go Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add one test case where the node name and the deprecated topology are populated with different values to show that node name gets precedence over the value in deprecated topology.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice comment, thanks!
I've added the '3 endpoints that each with different nodeName and deprecated topology hostName' case.

@xh4n3 xh4n3 force-pushed the features/restore-eps-topology-fallback branch from d4d6e5e to 7e3e8ca Compare May 28, 2022 02:49
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels May 28, 2022
@xh4n3 xh4n3 force-pushed the features/restore-eps-topology-fallback branch from 7e3e8ca to a2e951e Compare May 28, 2022 02:53
@xh4n3 xh4n3 force-pushed the features/restore-eps-topology-fallback branch from a2e951e to 7bebac5 Compare May 30, 2022 02:30
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label May 30, 2022
@robscott

Copy link
Copy Markdown
Member

Thanks for the PR @xh4n3! This makes sense to me and matches the logic @liggitt described in #110208 (comment). I can't approve this, but LGTM.

/lgtm
/assign @thockin

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 31, 2022
@dcbw

dcbw commented Jun 9, 2022

Copy link
Copy Markdown
Contributor

/triage accepted
/approve

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jun 9, 2022
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dcbw, xh4n3

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 9, 2022
@Verolop

Verolop commented Jun 9, 2022

Copy link
Copy Markdown

/lgtm

@Verolop Verolop added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Jun 9, 2022
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. label Jun 9, 2022
@k8s-ci-robot k8s-ci-robot merged commit c18f32d into kubernetes:release-1.22 Jun 9, 2022
@xh4n3 xh4n3 deleted the features/restore-eps-topology-fallback branch June 10, 2022 01:52
@liggitt liggitt added the kind/regression Categorizes issue or PR as related to a regression from a prior release. label Jan 30, 2023
@liggitt liggitt added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/bug Categorizes issue or PR as related to a bug. kind/feature Categorizes issue or PR as related to a new feature. kind/regression Categorizes issue or PR as related to a regression from a prior release. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/network Categorizes an issue or PR as relevant to SIG Network. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants