Skip to content
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

dualstack: IPVS proxier #82091

Merged
merged 2 commits into from
Aug 30, 2019
Merged

Conversation

khenidak
Copy link
Contributor

@khenidak khenidak commented Aug 28, 2019

What type of PR is this?

/kind feature

What this PR does / why we need it:
This PR is a replacement for #80627 and is entirely @uablrek original work. The new PR is just a tidied up version of his original work [THANK YOU!]. This PR addresses the code review comments and is meant to fast track the merge process. The PR must be layered on top of #79386 which has the API changes needed by this PR.

Which issue(s) this PR fixes:
N/A

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

Dual stack services (Phase II of IPv6DualStack feature) are enabled via the IPVS proxier. iptables proxier does not support dualstack yet. Dualstack iptables proxier is WIP and should catchup soon.

to enable, kube-proxy must be have the following flags:
--proxy-mode=ipvs 
--cluster-cidrs=<cidr>,<cidr> 

note:
The last two commits are part of this PR, the rest are part of #79386 and has been reviewed.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Aug 28, 2019
@k8s-ci-robot k8s-ci-robot added area/apiserver area/ipvs area/kubectl area/release-eng Issues or PRs related to the Release Engineering subproject area/test kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/release Categorizes an issue or PR as relevant to SIG Release. sig/testing Categorizes an issue or PR as relevant to SIG Testing. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Aug 28, 2019
@lachie83
Copy link
Member

/assign @thockin

@lachie83
Copy link
Member

/milestone v1.16

@k8s-ci-robot k8s-ci-robot added this to the v1.16 milestone Aug 28, 2019
@khenidak
Copy link
Contributor Author

cc @uablrek

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Aug 28, 2019
)

func makeOptionsWithCIDRs(serviceCIDR string, secondaryServiceCIDR string) *ServerRunOptions {
value := serviceCIDR
Copy link
Member

@aojea aojea Aug 28, 2019

Choose a reason for hiding this comment

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

shouldn't the value variable be created in the if blocks below?
seems that you check twice if len(secondaryServiceCIDR) > 0

Scratch this, didn't realize is a new PR rebased over the original

Copy link
Contributor Author

Choose a reason for hiding this comment

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

:-) point taken though, i will address it later on.

@BenTheElder
Copy link
Member

/test pull-kubernetes-conformance-kind-ipv6

@khenidak
Copy link
Contributor Author

/test pull-kubernetes-conformance-kind-ipv6

this test has been failing for a week now, i think somebody said it is broken?

@lachie83
Copy link
Member

/test pull-kubernetes-conformance-kind-ipv6

this test has been failing for a week now, i think somebody said it is broken?

It's fixed. I confirmed with @BenTheElder

@khenidak
Copy link
Contributor Author

yeah and it has cleared this PR, so we are good. Thanks @BenTheElder

@BenTheElder
Copy link
Member

BenTheElder commented Aug 28, 2019

we had a fix to the DNS conformance tests on IPv6 pending for O(days) finally merge ~yesterday (?)

kind in general building against kubernetes master was briefly broken today by a kubeadm change, we've fixed kind and there's a follow-up to kuebadm in flight as well.

EDIT: it should pass now. It also should not block merges

@lachie83
Copy link
Member

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 29, 2019
@liggitt
Copy link
Member

liggitt commented Aug 29, 2019

/priority important-soon

@k8s-ci-robot k8s-ci-robot added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Aug 29, 2019
khenidak and others added 2 commits August 29, 2019 23:37
co-authored-by: Lars Ekman <lars.g.ekman@est.tech>
co-authored-by: Lars Ekman <lars.g.ekman@est.tech>
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 29, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: khenidak, thockin

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

The pull request process is described here

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

@lachie83
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 29, 2019
@k8s-ci-robot k8s-ci-robot merged commit 1ade4ce into kubernetes:master Aug 30, 2019
@uablrek
Copy link
Contributor

uablrek commented Aug 30, 2019

The KUBE-MARK-DROP must be created with

ip6tables -t nat -N KUBE-MARK-DROP

before kube-proxy is started with dual-stack. This chain should created by kubelet.

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. area/apiserver area/ipvs area/kubectl area/release-eng Issues or PRs related to the Release Engineering subproject area/test cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/release Categorizes an issue or PR as relevant to SIG Release. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants