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

kube-dummy-if is created in Pod (possibly DSR?!) #248

Closed
thoro opened this issue Dec 14, 2017 · 3 comments
Closed

kube-dummy-if is created in Pod (possibly DSR?!) #248

thoro opened this issue Dec 14, 2017 · 3 comments
Assignees
Labels

Comments

@thoro
Copy link
Contributor

thoro commented Dec 14, 2017

I'm currently testing DSR as a passive option (e.g. not activly utilizing it)

Today the pod that has the DSR Tunnel (kube-tunnel-if) suddenly also had the kube-dummy-if.

I believe there may be some timing issue in creating / updating the dummy-if and the tunnel-if.

@murali-reddy
Copy link
Member

murali-reddy commented Dec 14, 2017

It definitely is a namespace issue due to DSR. So kube-router running in host namespace enters into pod’s network namespace to create tunnels, dummy interfaces etc. I have run into issue multiple times during development of DSR, where kube-router should gracefully should return back to the host network namespace. Failing which results are catastrohpic like this one. I tested various corner cases and added necessary defence.

https://github.com/cloudnativelabs/kube-router/blob/master/app/controllers/network_services_controller.go#L562-L672

But looks like there is still a case where switch does not happen.

just FYI, if DSR is not used, namespace are never touched by Kube-router

@murali-reddy
Copy link
Member

murali-reddy commented Dec 24, 2017

@thoro Possibly there is bigger issue with switching namespaces with GoLang

https://www.weave.works/blog/linux-namespaces-and-go-don-t-mix
moby/libnetwork#1113
https://groups.google.com/forum/#!topic/golang-dev/6G4rq0DCKfo/discussion

For now i added more logging, and pin the go routine to the same thread.

If the problem still reproduces then only possible solution is to fork the process to achive network configuration in the pod

@murali-reddy
Copy link
Member

Re-open if issue is still seen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants