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

Remove the flannel experimental overlay #33862

Merged

Conversation

luxas
Copy link
Member

@luxas luxas commented Sep 30, 2016

What this PR does / why we need it:

It removes the deprecated flannel overlay integration in kubelet.
It's completely unnecessary now with CNI which can handle everything smoothly when flannel is running in a daemonset.

Which issue this PR fixes (optional, in fixes #<issue number>(, #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #17795, #30589

cc @kubernetes/sig-network @thockin @freehan @bprashanth @yujuhong @dchen1107


This change is Reviewable

@luxas luxas added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Sep 30, 2016
@k8s-ci-robot
Copy link
Contributor

Jenkins GCE e2e failed for commit c99f586. Full PR test history.

The magic incantation to run this job again is @k8s-bot gce e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@k8s-ci-robot
Copy link
Contributor

Jenkins GCI GCE e2e failed for commit c99f586. Full PR test history.

The magic incantation to run this job again is @k8s-bot gci gce e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@k8s-ci-robot
Copy link
Contributor

Jenkins GCE Node e2e failed for commit c99f586. Full PR test history.

The magic incantation to run this job again is @k8s-bot node e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@k8s-github-robot k8s-github-robot added kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 30, 2016
@luxas
Copy link
Member Author

luxas commented Sep 30, 2016

I can also remove the proposal if you like

@yujuhong
Copy link
Contributor

@luxas you need to run hack/update-all.sh to update the generated files.

@luxas
Copy link
Member Author

luxas commented Sep 30, 2016

Yes, I know :)
I just uploaded the first commit while hack/update-all.sh was running.

@yujuhong PTAL at the first commit

@yujuhong
Copy link
Contributor

I just uploaded the first commit while hack/update-all.sh was running.

Fair enough. It does take quite a while to run.

@luxas
Copy link
Member Author

luxas commented Sep 30, 2016

@yujuhong What do you think about the PR itself?

@yujuhong
Copy link
Contributor

Salt needs some cleanup too:

{% set experimental_flannel_overlay = "--experimental-flannel-overlay=true" %}

@freehan
Copy link
Contributor

freehan commented Sep 30, 2016

@luxas Thanks for the PR!

Just the quota exceeded.

ERROR: (gcloud.compute.addresses.create) Some requests did not succeed:
 - Quota 'STATIC_ADDRESSES' exceeded. Limit: 20.0

@k8s-ci-robot
Copy link
Contributor

Jenkins verification failed for commit b251dd5. Full PR test history.

The magic incantation to run this job again is @k8s-bot verify test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@yujuhong
Copy link
Contributor

@yujuhong What do you think about the PR itself?

I'm fine with removing this flag, and in general happy to see dead code go. Someone from the cluster team may want to chime in.

@luxas
Copy link
Member Author

luxas commented Sep 30, 2016

@luxas
Copy link
Member Author

luxas commented Sep 30, 2016

I'm testing now to remove the old flannel code in kube-up as well.

cc @roberthbailey @mikedanese @zmerlynn from the cluster team, PTAL

@k8s-github-robot k8s-github-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 30, 2016
containerManager: kubeDeps.ContainerManager,
nodeIP: net.ParseIP(kubeCfg.NodeIP),
clock: clock.RealClock{},
os: kubeDeps.OSInterface,
Copy link
Contributor

Choose a reason for hiding this comment

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

why changing this?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's just gofmt. I removed the two flannel overlay-specific fields

@k8s-ci-robot
Copy link
Contributor

Jenkins Kubemark GCE e2e failed for commit a6ab75d. Full PR test history.

The magic incantation to run this job again is @k8s-bot kubemark e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@k8s-ci-robot
Copy link
Contributor

Jenkins GCI GKE smoke e2e failed for commit a6ab75d. Full PR test history.

The magic incantation to run this job again is @k8s-bot gci gke e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@k8s-ci-robot
Copy link
Contributor

Jenkins GKE smoke e2e failed for commit a6ab75d. Full PR test history.

The magic incantation to run this job again is @k8s-bot gke e2e test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@yujuhong
Copy link
Contributor

Should I remove the old proposal as well: https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/flannel-integration.md?

I don't know the policy on proposals, but I think removing a no-longer-relevant proposal is good.

@@ -121,7 +121,7 @@ func (kl *Kubelet) providerRequiresNetworkingConfiguration() bool {
// is used or whether we are using overlay networking. We should return
// true for cloud providers if they implement Routes() interface and
// we are not using overlay networking.
if kl.cloud == nil || kl.cloud.ProviderName() != "gce" || kl.flannelExperimentalOverlay {
if kl.cloud == nil || kl.cloud.ProviderName() != "gce" {
Copy link
Member

Choose a reason for hiding this comment

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

we still want a flag that does this probably. flannelExperimentalOverlay is the wrong name.

Copy link
Contributor

@freehan freehan Sep 30, 2016

Choose a reason for hiding this comment

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

One can use the CNI flannel plugin. But that needs extra setup for flannel daemon and etc.

I think that is much cleaner than having a flag for flannel.

Copy link
Member Author

Choose a reason for hiding this comment

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

At least, this isn't a regression.
Nobody (at least not many) has used the experimental flannel overlay, and if we want to add a new flag for this specific case, we can do it later

Copy link
Member

Choose a reason for hiding this comment

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

@freehan I think we have the same problem for not just flannel. If I'm using the gce cloud provider with weave and I don't want to configure routes, kubelet will report not ready. There is no way of opting out of gce routes with the gce cloud provider. Is that an issue?

Copy link
Contributor

Choose a reason for hiding this comment

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

@mikedanese what does kubelet complain in the weave case? I do not recall kubelet checks podCIDR unless it comes from network plugin. I think the assigned route can be ignored by configuration.

Copy link
Member Author

Choose a reason for hiding this comment

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

I think you should open a separate issue for that discussion.
Please do that and keep focusing on the PR itself

Copy link
Member

Choose a reason for hiding this comment

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

I brought this up in #33573 (comment). It's a problem for OpenShift when run on GCE too, as we use an overlay and don't need Routes created for pod<->pod communication, but the NetworkUnavailable condition is set anyway.

But I think this should be solved differently and more cleanly than repurposing the flannelExperimentalOverlay flag.

@mikedanese
Copy link
Member

Should I remove the old proposal as well:

No. You can just leave it as is or make a not that it's deprecated.

@k8s-github-robot k8s-github-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 1, 2016
@luxas
Copy link
Member Author

luxas commented Oct 3, 2016

@freehan Any concerns/comments?
If this looks good to you and @yujuhong I'll just rebase and make it ready to merge

@freehan
Copy link
Contributor

freehan commented Oct 3, 2016

LGTM
Thanks!

@yujuhong
Copy link
Contributor

yujuhong commented Oct 3, 2016

LGTM. Please rebase.

@freehan
Copy link
Contributor

freehan commented Oct 4, 2016

Feel free to rebase and self apply

@luxas luxas force-pushed the remove_experimental_flannel branch from a6ab75d to 4e52f84 Compare October 4, 2016 09:45
@k8s-github-robot k8s-github-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 4, 2016
@k8s-ci-robot
Copy link
Contributor

Jenkins unit/integration failed for commit 4e52f84. Full PR test history.

The magic incantation to run this job again is @k8s-bot unit test this. Please help us cut down flakes by linking to an open flake issue when you hit one in your PR.

@luxas
Copy link
Member Author

luxas commented Oct 4, 2016

@k8s-bot unit test this

@luxas luxas added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 4, 2016
@k8s-github-robot k8s-github-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 4, 2016
@k8s-github-robot
Copy link

@k8s-bot test this [submit-queue is verifying that this PR is safe to merge]

@k8s-github-robot
Copy link

Automatic merge from submit-queue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cleanup kubelet flannel hacks
8 participants