-
Notifications
You must be signed in to change notification settings - Fork 205
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
Etcd ignores error code and exits prematurely on Watch #26
Comments
(From @springi99) Until the moving is done related to endpoint top directory (or KeyPrefix):
solves the problem. Sorry about veth pairs they are not belonging to docker. |
@springi99 I think the default behavior of It is to the users of the lib (in this case The missing catch on Same goes for the changes you made on libnetwork, it will definitely help on this side as well :) |
Hi, The problem with the WatchTree is the following: networks for defaults (zero, host, bridge) are also creating this watch and it fails with etcd and not with consul. if you compare the consul.go and etcd.go you can see that in case of failure etcd returns with an error and consule not. This is why i thought it is enough to remove that return. For other networks (overlay and custom/remote e.g. openvswitch from shettyg/ovn-docker) creates the right tree structure. for remote networking some features are still missing, but you can substitute them with hand made scripts. Related to commiting: do you have any process description for that? Unfortunately i am a newbie and I don't know how can I do it officially. I have other questions related to networking, if you can provide me resources to learn it would be nice:
Thanks your help! |
@springi99 Oh I see, you are right! I think the On the whole process of contributing I think that this contains all you need to get started: If you need some help on getting started with your first PR, do not hesitate to ping us on our IRC channel: Regarding your question on Thanks for reporting the issue in the first place though, helps a lot to have users testing things around not only on this repository but on the interaction with other projects! This is a contribution on its own. |
Signed-off-by: Robert Springer <springi99@gmail.com>
Hi, sorry for the delay... I tried to follow the process, the result can be found here: https://github.com/springi99/libkv/tree/etcd-fixes if you think it is ok then tell me what to do. Thanks, robert. |
Hi @springi99, sorry for the delay. If you go to your fork (https://github.com/springi99/libkv/) you should see a button "Create pull request" that appears on top. Click on that, and then click "Create pull request" on that new page. Don't worry putting a description there, it's fine for this PR. Let me know if you have any trouble. I can still create it for you and you'll get credit for your work anyway. Thanks! |
Hi, I created it, please check it. Thanks in advance! |
Closed by #35 |
(From @springi99)
Hi,
I am newbie here, i don't know whether is this the right forum for my problem...
I have problem with using etcd as kv store:
docker -D -d --kv-store=etcd:10.0.0.105:4001 --label=com.docker.network.driver.overlay.bind_interface=eth1
failed because it cannot find keys in etcd. I tried to find a solution for this:
in vendor/src/github.com/docker/libkv/store/etcd/etcd.go in Get() you should add error code 100 as well:
furthermore in WatchTree you should not return back when List() returns with error:
with these modification i can start docker with etcd. I am able to create overlay network, publish and attach service to a running container. The problem comes when i try to unpublish the service. in etcd the endpoint top directory is not deleted:
and it seems veth pairs are not deleted, too.
Actually i did not try whether traffic goes through or not. Did you meet with this problem? Thanks your help in advance,
robert.
The text was updated successfully, but these errors were encountered: