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
Replace existing docker networking code and integrate with libnetwork #13060
Conversation
you need to rebase ;) |
@crosbymichael done :-) |
started test on lxc ;) feeling brave |
@mrjana Also, you should separate commit message body from title with empty line |
very nice at first glance, thanks for vendoring the code in a separated commit, much better for reviewing ⚡ |
60a3e7f
to
0e1c92e
Compare
Test failure. |
@cpuguy83 thanks. am looking into it. |
0f5f203
to
72597dd
Compare
@@ -53,6 +54,10 @@ clone git github.com/kr/pty 05017fcccf | |||
clone git github.com/tchap/go-patricia v2.1.0 | |||
clone hg code.google.com/p/go.net 84a4013f96e0 | |||
clone hg code.google.com/p/gosqlite 74691fb6f837 | |||
clone git github.com/go-fsnotify/fsnotify v1.2.0 | |||
clone git github.com/go-check/check 64131543e7896d5bcc6bd5a76287eb75ea96c673 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you pls remove the redundant go-fsnotify and go-check dependencies ?
So is that code dead or is it still being called. I think if it is dead we may as well remove it now, but that is just my opinion, I like large minus (-) ;) |
as far as design goes I like it, it is clean and simple. |
Yes, don't leave dead code around, it will just be confusing for anyone changing code after you. Don't comment things out either, just delete, everything is in git so we can always see what it was before. |
@crosbymichael Sure, let me cleanup dead code. @jfrazelle I ran lxc integration tests in my dev machine and it had only 7 failures(which was the same on stock 1.7.0-dev in my machine). Does lxc test fail intermittently? |
@jfrazelle @crosbymichael @LK4D4 |
With last commit it is definetely better. |
I found panic:
I created two containers with |
After daemon crash I can't start old container with:
In logs:
|
Last error probably was here forever, but now it became little more severe. I think we need to call |
On the good side of things, tests are green with |
@mrjana thanks for the |
@estesp Yes, that was the only design change which functionally doesn't change anything. |
@LK4D4 Thanks for catching the panic issue. Pushed a new set of diffs with the fix for that and a test case for that in libnetwork as well. Also rebased. |
still here.
|
also somehow you need rebase again :/ And port #12437 |
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
- Updated Dockerfile to satisfy libnetwork GOPATH requirements. - Reworked daemon to allocate network resources using libnetwork. - Reworked remove link code to also update network resources in libnetwork. - Adjusted the exec driver command population to reflect libnetwork design. - Adjusted the exec driver create command steps. - Updated a few test cases to reflect the change in design. - Removed the dns setup code from docker as resolv.conf is entirely managed in libnetwork. - Integrated with lxc exec driver. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
As part of this some generic packages like iptables, etchosts and resolvconf have also been moved to libnetwork. Even though they can still be consumed in a generic fashion they will reside and be maintained from within the libnetwork project. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
@LK4D4 I pushed new diffs which attempts to fix the issue that you are having. BTW, I was not able to reproduce this issue at all in my local machine. Probably something to do with the version of kernel you are running. In any case the way I've fixed it is to to remove the namespace path file if it exists during a new join for an old container and recreate the namespace for the container from scratch. Please test it in your machine and see if it works ok. This is rebased again. |
testing now on 4.0.4 On Tue, May 19, 2015 at 5:03 PM, Jana Radhakrishnan <
|
Thanks @jfrazelle |
LGTM |
1 similar comment
LGTM |
Replace existing docker networking code and integrate with libnetwork
Thanks @mrjana @icecrime @LK4D4 @crosbymichael @tiborvass @jfrazelle @estesp @ashahab-altiscale @stevvooe @cpuguy83 @aboch @dave-tucker @nerdalert for a good review & merge. 🎉 🎈 🎆 |
Finally! 👍 |
Is there a rough estimate of when this extension may, if approved,make it into the stable branch? 6 months, 12 months, etc. This perfectly answers some scenarios I have but I need to decide if I implement custom work arounds and leverage third party tools or work on other components of the system until this is in place or those other work arounds need to be done. Excellent work meanwhile. Simplified elastic-ip like routing between containers is definitely a major hole in the existing feature set. |
@noizu This isn't really the right venue to ask this sort of question. I suggest that you use either the mailing list (docker-dev@googlegroups.org) or IRC #docker-dev. |
This PR attempts to integrate libnetwork with three main goals:
Please refer to following libnetwork docs for more info:
All dead code has been removed.